Aller au n-ième symbole de la ligne


85

Comment déplacer le curseur vers le n-ième symbole à partir de la gauche dans Vim?

Une des solutions que je vois est d'appuyer sur 0n<right-arrow>, il passera à la position n + 1. Y a-t-il un moyen plus naturel de le faire?


1
la solution de la flèche vers la droite a fonctionné pour mon problème ... thnx
raj_gt1

Qui utilise jamais à la <right arrow>place de lvim?
LRDPRDX

Réponses:


129

Le tuyau '|' le caractère peut être ce que vous voulez:

Pour aller à la 25e colonne d'une ligne en mode normal, appuyez sur 25|

Pour aller à la 37e colonne d'une ligne en mode normal, appuyez sur 37|

etc. . .


Super, c'était ce que je cherchais
Nutel

4
@CamilB Essayez quelque chose comme $3h, qui vous déplacera à la fin de la ligne puis 3 caractères vers la gauche.
Jeff Klein

Pour en savoir plus, consultez l'aide de vim :help bar. Quand j'en ai découvert, cela a rendu les commentaires et décommentations tellement plus faciles XD Après avoir découvert cela, je ne me fie pas aux plugins de commentaire / décommentation externes, la vie d'édition de code est tellement meilleure maintenant :)
Avi Mehenwal

40

EDIT: mal interprété votre question.

vous pouvez avancer vers un symbole particulier en tapant fsuivi du symbole en question:

si vous voulez passer au troisième $, vous tapez:

3f$

pour revenir en arrière, vous utilisez un "F" majuscule

F$

pour arriver à la fin de la ligne en premier, utilisez "$"

donc vos frappes pour trouver le troisième $ à partir de la fin d'une ligne sont:

$3F$

j'aime garder quelque chose comme ça à portée de main lorsque vous utilisez Vim:
http://www.lagmonster.org/docs/vi.html


1
C'était le premier résultat sur google et c'était ce que je cherchais, merci
kgwong

ce mouvement soit ajouté à d'autres commandes également, comme: passer de la position actuelle à la 2ème apparition du caractère "e" - c2te :)
Vũ Tô

8

Je ne sais pas si vous voulez dire le nième caractère ou la nième occurrence d'un caractère; la seconde a été répondue donc je vais répondre à la première.

^vous amènera au début de la ligne en excluant les espaces (donc à la première colonne non blanche) et |(tuyau) ou 0(zéro) vous amènera au premier caractère. Ensuite l(L minuscule) vous amènera vers la droite; et vous 7lamènera sept caractères vers la droite. Donc, tous ensemble, pour aller au (n + 1) ème caractère sur la ligne, pour n = 7 07l,.


Je vois que vous avez édité la question maintenant; lau lieu de la flèche droite, c'est à peu près le meilleur que vous obtiendrez. (connaissez-vous la navigation hjkl?)
Chris Morgan

Je sais que le vrai vimmer ne devrait pas utiliser de flèches, mais j'utilise d'autres applications qui ne prennent pas en charge la liaison de touches de bas niveau et le seul moyen de naviguer est les flèches, donc pour faciliter le basculement entre elles, j'utilise des flèches
Nutel

@Vetal: Je suis parfois frustré lorsque le défilement ne fonctionne tout simplement pas dans d'autres applications ... hjkl est beaucoup plus agréable que les flèches.
Chris Morgan

Comme le souligne la réponse d'Herbert Sitz, |ne va qu'au premier caractère parce que la valeur par [count]défaut est 1 - il va en fait au [count]ème caractère de la ligne, 8|c'est comme 07lsi ce n'était qu'un seul mouvement au lieu de deux.
hobbs

Je pense que je devrais faire attention à ce que font les personnages. J'aurais dû penser qu'il était improbable qu'il y ait deux façons de faire la même chose.
Chris Morgan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.