Comment utilisez-vous la fonctionnalité de correction rapide de vim?

Je suis un nouvel utilisateur de Vim et j’ai trouvé que sa courbe d’apprentissage était assez raide (du moins pour moi). Je viens d’installer ce script vim pour la vérification des erreurs JavaScriptLint, qui affiche des erreurs dans la fenêtre de correction rapide de vim une fois que j’ai enregistré un tampon.

Cependant, je ne sais pas quoi faire ensuite. Comment faire défiler toutes les erreurs? Comment fermer la fenêtre ‘quickfix’? Comment puis-je l’obtenir pour vérifier les erreurs après avoir apporté des modifications à mon code?

J’ai regardé les docs de vim quickfix mais la quantité de commandes est écrasante et je n’arrive pas à trouver ce que je veux. Toute aide serait appréciée.

Une question secondaire: existe-t-il un moyen d’avoir javascriptlint pour vérifier les erreurs js pour le code résidant dans un fichier .html?

Merci!

Il y a beaucoup de commandes pour quickfix comme vous l’avez dit, mais j’ai tendance à trouver que je n’utilise qu’un petit sous-ensemble:

:copen " Open the quickfix window :ccl " Close it :cw " Open it if there are "errors", close it otherwise (some people prefer this) :cn " Go to the next error in the window :cnf " Go to the first error in the next file 

J’ai tendance à utiliser ceci avec :make et :vimgrep , donc je ne peux pas commenter le vérificateur de lint Javascript, mais cela devrait vous donner quelque chose pour commencer.

En ce qui concerne l’utilisation générale de JavascriptLint, je ne suis pas un programmeur javascript, mais il semble que le script expose une fonction appelée “JavascriptLint”, donc si vous voulez l’appeler manuellement, vous pouvez utiliser :call JavascriptLint() . Cependant, cela fonctionne sur la copie de disque du fichier, donc il faudra d’abord l’enregistrer. Si (et seulement si) la ligne de commande jsl fonctionne sur les fichiers html, vous devriez pouvoir utiliser :call JavascriptLint() sur un fichier html pour vérifier le javascript interne. Vous pourriez aussi faire:

 autocmd BufWritePost,FileWritePost *.html call JavascriptLint() 

pour l’automatiser. Si jsl ne supporte pas les fichiers html, alors (à moins de patcher l’application ou de demander à l’auteur de le changer), c’est probablement une cause perdue …

Le moyen le plus simple de naviguer dans la liste de correctifs rapides (ou la liste des emplacements, en l’occurrence) est le plug-in non unimpaired .

Une fois la fenêtre de correction rapide remplie, [q et ]q avancent et reculent (respectivement) dans la liste de corrections rapides. [Q et ]Q vont au début et à la fin (ce qui est particulièrement pratique si vous n’avez qu’un élément dans la liste, ce qui fait que Vim se plaint de [q et ]q ). Le workflow est donc:

  1. Exécuter toute commande remplit la liste de correctifs
  2. Tapez [Q pour aller au premier élément
  3. Faites défiler les éléments suivants (le cas échéant) avec [q et ]q

Si vous utilisez Syntastic, vous obtenez la liste des emplacements au lieu de la liste de correctifs. Aucun problème; utilisez simplement [L , ]L , [l et ]l de la même manière.

unimpaired a aussi des charges d’autres mappages pratiques – [e et ]e des lignes “bulle” de haut en bas, [ et ] insèrent des lignes vides au-dessus et au-dessous, etc. c’est probablement parce qu’il n’existait pas avant janvier 2010, bien que la question ait été posée en 2009.

Vous pouvez également utiliser :cc 2 (ou tout autre nombre) pour accéder, dans ce cas, à la seconde erreur dans la fenêtre de correction rapide. Naviguer avec :cn :cc 4 , etc. placera le curseur sur la ligne en question.

Placez les deux lignes suivantes dans votre fichier .vimrc:

 map  :cn map  :cp 

Vous pouvez maintenant naviguer parmi les erreurs en utilisant ctrl-j et ctrl-k, qui imitent les commandes standard de mouvement vertical vers le haut et vers le bas j et k.

La manière la plus pratique d’intégrer la vérification de la syntaxe JavaScript consiste à utiliser le plug- in Syntastic Vim , qui utilise la liste de localisation de Vim (qui est parallèle à la correction rapide ).

J’ai écrit des réponses à cette question et à cette question en expliquant comment le faire, et aussi comment obtenir une navigation / une liste de codes source pour Vim en utilisant jshint.com (qui est bien meilleur que JSLint IMO) et DoctorJS de Mozilla (anciennement jsctags ).

la fenêtre de correction rapide fonctionne principalement comme n’importe quelle autre fenêtre de vim: j sur une ligne, k sur une ligne,: cn pour passer à la prochaine erreur / avertissement, etc.

expérience!

Peut-être que cette option n’existait pas lorsque cette question a été écrite (ou peut-être que je suis gênant parce qu’il ya quelque chose dans mon .vimrc qui rend cela possible) mais quand je reçois une Quickfix List .vimrc , je navigue (c.-à-d. La touche Entrée) pour sauter à cet endroit dans le fichier.

Ensuite, pour revenir à la Quickfix List tapez Ctrl + W j pour “déplacer une fenêtre” et je suis de retour.

Enfin, une fois terminé, je tape simplement :q , comme si je fermais une fenêtre normale.