Maison  >  Article  >  Opération et maintenance  >  Améliorer le fonctionnement de Vim - Cartographie VIM

Améliorer le fonctionnement de Vim - Cartographie VIM

齐天大圣
齐天大圣original
2020-06-12 10:38:352236parcourir

La cartographie est ma fonction vim préférée. Grâce à elle, je peux définir librement mes propres touches de raccourci, ce qui peut grandement améliorer mon efficacité d'écriture. Le mappage peut être compris comme la définition de touches de raccourci, ce qui vous permet de remplacer des touches plus compliquées par un petit nombre de touches faciles à appuyer.

Quand utiliser la cartographie

Si vous rencontrez un ou plusieurs des problèmes suivants, vous pouvez utiliser la cartographie

  • Pas satisfait des touches actuelles

  • Vous souhaitez définir des touches de raccourci pour améliorer la vitesse d'édition

  • Vous souhaitez en combiner certaines clés Compléter de nouvelles exigences

Classification cartographiée

Nous savons que vim a plusieurs modes, correspondant à eux, la cartographie également inclut nmap (mappage normal), imap (mappage d'insertion) et vmap (mappage de sélection de bloc).

Choisissons quelques cas pour parler de ces trois cartographies.

Mapping normal

" 使用F1切换显示行号
nmap <F1> :set nu! nu?<cr>

CR signifie ici la touche Entrée.

Insérer le mappage

" 使用jj来代替esc键,完成从插入模式退回到普通模式
imap jj <esc>`^

Généralement, nous utiliserons jj au lieu de la touche esc pour passer rapidement du mode insertion au mode normal.

" 在插入模式下向前向后删除字符
imap <C-b> <Backspace>
imap <C-d> <Esc>lxi

Ici, c représente la touche ctrl. En mode insertion, utilisez ctrl+b pour supprimer un caractère en arrière et utilisez ctrl+d pour supprimer un caractère en avant.

Mappage en mode bloc

Généralement, nous augmentons ou diminuons souvent l'indentation du texte multiligne. Comme mentionné dans un article précédent, cette exigence peut être satisfaite grâce à la sélection de blocs combinée à la ligne de commande ou via des macros. Aujourd’hui, après avoir appris la cartographie, vous pouvez utiliser une méthode plus simple pour répondre à vos besoins.

vmap < <gv 
vmap > >gv

Maintenant, si nous voulons mettre en retrait plusieurs lignes, il nous suffit de sélectionner les lignes et d'appuyer sur > ou <.

Mappage récursif

Que se passera-t-il si vous effectuez le prochain mappage

nmap dd O<esc>jddk

Et si lorsque vous exécutez dd plus tard, de graves problèmes surviendront. Comme il y a des dd des deux côtés du mappage, cela provoquera une boucle infinie. Cette boucle infinie est provoquée par la récursion, c'est pourquoi on l'appelle cartographie récursive.

Comme vous pouvez le voir, le mappage récursif est nuisible, donc le mappage récursif n'est jamais autorisé à être utilisé dans le travail, mais le mappage non récursif doit être utilisé. Et si nous faisions du mappage non récursif ? C'est aussi très simple, il suffit d'ajouter 4 lettres nore

  • nmap récursif nnoremap non récursif

  • imap récursif inoremap non récursif

  • vmap récursif vnoremap non récursif

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn