Antipatterns Vim

Lorsque vous êtes dans un état de fluidité, Vim accélère sérieusement l'édition, qu'il s'agisse d'écrire du code, de la poésie ou de la prose. Mais comme la courbe d'apprentissage est trop abrupte pour un éditeur de texte, il est très facile de conserver de mauvaises habitudes à partir du moment où vous venez de maîtriser l'éditeur. Vim accélère tellement votre travail qu'il est particulièrement difficile de l'éradiquer, car vous ne le remarquerez peut-être même pas. Mais ça vaut le coup. Je vais énumérer certains des motifs les plus courants.

Déplacement sur une ligne


Si vous avez besoin de sauter plus de quelques lignes, il est inefficace de se déplacer le long d'une ligne avec les touches j ou k . Il existe de nombreuses façons de se déplacer verticalement dans Vim. Je trouve que les deux plus utiles sont les sauts de paragraphe et d'écran. Cela dépend de la distance et de la distance à parcourir.

  • { - Aller au début du paragraphe ou bloc de code précédent.
  • } - Aller à la fin du paragraphe ou bloc de code suivant.
  • Ctrl+F - Avancez d'un écran.
  • Ctrl+B - Retourne d'un écran.

Si vous savez exactement où vous devez aller, vous pouvez utiliser la navigation à travers la recherche: rechercher en avant avec / et en arrière - ? .

Il est également toujours utile de revenir à l'emplacement précédent, ce qui est assez facile à faire avec deux guillemets ou gi : revenir au dernier endroit où vous avez entré le texte. Si vous le souhaitez, vous pouvez même naviguer entre tous les endroits où le texte a été saisi à l'aide de g; et g,

Mouvement à caractère unique


De même, déplacer un caractère à la fois avec les touches h et l est souvent une perte de temps lorsque nous avons t et f :

  • t<char> - Avancez jusqu'à ce que le caractère suivant apparaisse.
  • f<char> - Avance pour la prochaine occurrence d'un caractère.
  • T<char> - Revient à l' occurrence précédente d'un caractère.
  • F<char> - Recule pour l' occurrence précédente d'un caractère.

Il E également préférable de parcourir les mots avec les touches w , W , b , B , e et E Et la navigation de recherche est utile ici, et n'oubliez pas que vous pouvez copier, supprimer et modifier le texte en avant ou en arrière dans le résultat de la recherche:
y/search<Enter>
y?search<Enter>
d/search<Enter>
d?search<Enter>
c/search<Enter>
c?search<Enter>

Rechercher un mot sous le curseur


Ne vous embêtez pas à taper ou à copier / coller, appuyez simplement sur * ou # . Il est étonnant à quel point le travail devient plus rapide lorsque vous maîtrisez ces touches de raccourci.

Supprimer et coller


Il n'est pas nécessaire de supprimer du texte pour le remplacer en passant en mode insertion:

d2wi

Utilisez la touche c plus rapidement et plus précisément:

c2w

Ainsi, toute l'opération devient répétable avec un point ( . ).

Utilisation des touches fléchées


Vim vous permet d'utiliser les touches fléchées pour vous déplacer en mode normal et en mode insertion, mais si vous avez l'habitude d'utiliser hjkl pour la navigation, les flèches semblent déjà un peu maladroites, car tout au long de la session Vim, les doigts sont au centre du clavier , ce qui est pratique pour appuyez sur la frappe. Les touches Début et Fin sont similaires: bien qu'elles fonctionnent comme dans la plupart des éditeurs, il n'y a pas de raison particulière de les utiliser lorsque les équivalents de ^ et $ plus proches.

Ainsi, il est conseillé de se sevrer des touches fléchées en les désactivant au moins temporairement:

noremap <Up> <nop>
noremap <Down> <nop>
noremap <Left> <nop>
noremap <Right> <nop>


Taper à l'aveugle avec les touches centrales offre non seulement un avantage de vitesse, mais vous fait également vous sentir mieux, car vos poignets reposent devant le clavier et ne vont pas trop loin, et cela aide certaines personnes à se protéger contre le syndrome du tunnel .

Se déplacer en mode insertion


Un avantage supplémentaire de la frappe aveugle sur la ligne médiane est que vous vous débarrassez de l'habitude de vous déplacer en mode insertion: le mode normal est conçu pour cela. Dès que vous devez vous déplacer, vous passez en mode normal et vous vous déplacez beaucoup plus efficacement. Cela aide également à rendre les opérations de collage plus atomiques et donc plus pratiques pour la répétition.

Appuyez sur Echap


La touche Échap sur les claviers modernes est beaucoup plus éloignée de la ligne centrale que sur le clavier de Bill Joy lorsqu'il a conçu vi. Il n'est généralement pas nécessaire d'appuyer sur Echap: Ctrl+[ beaucoup plus proche et plus pratique, vous changerez vos habitudes assez rapidement. En option, vous pouvez envisager de faire correspondre la touche de verrouillage des majuscules assez inutile ou même des combinaisons inhabituelles, telles que jj dans le système d'exploitation Esc. Bien que ce soit un peu une proposition radicale, cela fonctionne bien pour beaucoup de gens:

inoremap jj <Esc>

Aller au début ou à la fin d'une ligne, puis insérer


Utilisez simplement I et A De plus, ils rendent l'action reproductible pour d'autres lignes où la même opération peut être nécessaire.

Passez en mode insertion, puis créez une nouvelle ligne


Utilisez o et O pour créer une nouvelle ligne inférieure et supérieure, respectivement, et en même temps passez en mode d'insertion dessus.

Entrer en mode insertion pour supprimer du texte


C'est une contradiction assez évidente. Au lieu de cela, supprimez le texte en vous y déplaçant et en utilisant d avec le mouvement ou l'objet texte approprié. Encore une fois, cette action est répétable et signifie que vous ne maintenez pas de retour arrière. En général, si vous maintenez une touche dans Vim, il existe probablement un moyen plus rapide.

Répéter des commandes ou des recherches


Tapez simplement @: pour la commande ou n / N pour la recherche; Vim n'oublie pas la dernière recherche. S'il ne s'agit pas de la dernière commande ou recherche, mais qu'elle figure définitivement dans l'historique, entrez q: ou q/ , recherchez-la dans la liste et appuyez sur Entrée.

Remplacements


Entrez & pour répéter sur la ligne actuelle du dernier remplacement. Vous pouvez le répéter sur toutes les lignes en tapant g& .

Rappel de macro


Entrez simplement @@ .

En fait, ce ne sont que quelques façons courantes d'augmenter la vitesse et l'efficacité globale de travailler avec l'éditeur sans installer de plugins ni de réaffectation significative de clés. Voir aussi le wiki pour des conseils sur Vim , il y a plusieurs autres exemples vraiment utiles.

Source: https://habr.com/ru/post/fr442110/


All Articles