Existe-t-il un moyen de déplacer le curseur d'une quantité relative de lignes dans vi/vim? Supposons que le curseur se trouve 10 lignes sous un bloc de code que vous souhaitez supprimer. Si vous avez les numéros de ligne affichés dans l'ordre relatif, ce serait bien d'avoir une "commande de saut de 10 lignes" qui vous y amènerait.
Ou peut-être vaut-il mieux afficher les numéros de ligne absolus et aller xgg où x est le numéro de ligne?
Oui, bien sûr, il y a un moyen. j
et k
montent et descendent d'une ligne, donc 10j
et 10k
déplacer vers le bas et le haut de dix lignes. Vous pouvez répéter n'importe quelle motion en y mettant un chiffre.
Vous pourriez également vouloir set relativenumber
si c'est quelque chose que vous faites beaucoup - cela vous évitera de compter en imprimant des numéros de ligne relatifs à la ligne actuelle, au lieu de nombres absolus.
Déplacer 10 lignes vers le haut et vers le bas peut ne pas convenir à votre tâche ainsi qu'à d'autres options. Considérez d'autres mouvements:
Ctrlf, Ctrlb page avant et arrière.
}, { avancer et reculer d'un paragraphe.
Vous pouvez écrire des règles dans votre vimrc pour lier 10j
à une clé, dites J
pour descendre de 10 lignes en ajoutant la ligne suivante à votre fichier vimrc: map <S-j> 10j
Cependant, vous écraseriez la commande J
existante utile (joignez deux lignes). Recherche d'une combinaison de touches inutilisée bien positionnée pour 10j
/10k
peut être difficile, je suggère donc d'utiliser les mouvements existants que j'ai mentionnés.
Vous pouvez également savoir que vous pouvez revenir en arrière vers un mot que vous voyez en faisant: ?someword
et transmettre à un mot que vous voyez en faisant /someword
. Celles-ci seront plus rapides que d'essayer de monter/descendre de 10 lignes, puis de repositionner votre curseur à l'emplacement exact. Si vous ne pouvez pas penser à une simple chaîne de recherche pour la ligne en question, vous pouvez toujours aller au numéro de ligne comme vous l'avez dit (xgg
).
Je jouais avec vim et j'ai remarqué - vous déplace vers le haut et + vous fait descendre, vous pouvez donc:
10-
ou vous pourriez utiliser k puisque vous êtes très probablement habitué à hjkl mouvement du curseur.