98 votes

Déplacer le curseur à x lignes de la position actuelle dans vi/vim

Existe-t-il un moyen de déplacer le curseur d'un nombre relatif de lignes dans vi/vim ? Disons que le curseur se trouve 10 lignes sous un bloc de code que vous voulez supprimer. Si les numéros de lignes sont affichés dans un ordre relatif, il serait agréable d'avoir une commande "sauter 10 lignes plus haut" qui vous y conduirait.

Ou peut-être est-il préférable d'afficher les numéros de ligne absolus et de faire xgg où x est le numéro de ligne ?

146voto

Jefromi Points 127932

Oui, bien sûr qu'il y a un moyen. j et k descendent et montent d'une ligne, donc 10j et 10k descendent et montent de dix lignes. Vous pouvez répéter n'importe quel mouvement en le faisant précéder d'un chiffre.

Vous pouvez également set relativenumber si c'est quelque chose que vous faites souvent - cela vous aidera à économiser du temps en imprimant des numéros de ligne relatifs à la ligne actuelle, au lieu de numéros absolus.

55voto

Olhovsky Points 2817

Déplacer 10 lignes vers le haut et vers le bas pourrait ne pas convenir à votre tâche aussi bien que d'autres options. Envisagez d'autres mouvements :

Ctrlf , Ctrlb page en avant et en arrière.

} , { avancer et reculer d'un paragraphe.

Vous pouvez écrire des règles dans votre vimrc pour lier 10j à une touche, dites J de descendre de 10 lignes en ajoutant la ligne suivante à votre fichier vimrc : map <S-j> 10j

Cependant, vous écraseriez l'utile existant. J (joindre deux lignes). Trouver une combinaison de touches inutilisées et bien placées pour 10j / 10k pourrait être difficile, je suggère donc d'utiliser les mouvements existants que j'ai mentionnés.

Sachez également que vous pouvez revenir en arrière sur un mot que vous voyez en le faisant : ?someword et avancez vers un mot que vous voyez en faisant /someword . Elles seront plus rapides que d'essayer de monter ou descendre de 10 lignes et de repositionner le curseur à l'endroit exact. Si vous ne pouvez pas penser à une chaîne de recherche simple pour la ligne en question, vous pouvez toujours aller au numéro de la ligne comme vous l'avez dit ( xgg ).

16voto

The Wobbuffet Points 3939

J'étais en train de jouer avec vim et j'ai remarqué que - vous déplace vers le haut et + vous déplace vers le bas, donc vous pouvez :

10-

ou vous pouvez utiliser k puisque vous êtes probablement habitué à hj k l mouvement du curseur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X