Comment passer à un personnage spécifique dans vim?


163

Comment puis-je passer au caractère X suivant dans vim?

J'utilise fréquemment, par exemple, dt:ou ct:pour tout supprimer / modifier jusqu'à un deux-points (ou un autre caractère).

Existe-t-il une combinaison de touches courtes pour déplacer simplement la position de mon curseur sur ce caractère?



7
Si seulement les 2 premières réponses partielles avaient été une - et contenaient en plus cette information: le non-mentionné Tsautera après le premier caractère recherché vers la gauche, et je peux confirmer que les répéteurs ;et ,fonctionnent avec tout f/ F/ t/ T.
underscore_d

Réponses:


276

Vous pouvez taper f<character>pour placer le curseur sur le caractère suivant et F<character>pour le précédent.


90
Vous pouvez également utiliser ;pour répéter l'opération et l'utiliser ,pour la répéter dans la direction opposée.
Rsh

10
Cela ne semble fonctionner qu'avec des matchs sur la même ligne pour moi.
Jpaji Rajnish

7
@JpajiRajnish Oui. Utilisez /<character>pour l'assortir n'importe où.
Lars Kotthoff

Il semble que l'utilisation de f <character> (avec les caractères; et, pour répéter la commande) ne fonctionne que sur la ligne sur laquelle se trouve le curseur. Existe-t-il un moyen de le faire fonctionner dans tout le fichier?
Aluthren

J'utiliserais la recherche dans ce cas; voir le commentaire ci-dessus.
Lars Kotthoff

62

tet ffonctionne également sans commande, donc pour passer à l'utilisation des deux points f:et à la droite avant l'utilisation des deux pointst:


7

Si vous effectuez une recherche pour ce caractère avec /, vous pouvez alors frapper npour passer à l'occurrence suivante de celui-ci.


Je me demande comment annuler cette découverte une fois que j'ai trouvé le personnage. Tous les caractères correspondants semblent rester en surbrillance dans la mémoire tampon actuelle.
newswim

1
@newswim,: nohl
arkadyt

Vous pouvez également simplement rechercher quelque chose d'autre (par exemple, un tas de déchets qui ne seront pas appariés) pour changer la chaîne de recherche en surbrillance. Il y a aussi :set invhlsce qui est utile pour activer et désactiver les surbrillances (je mappe cela à un raccourci pour un basculement rapide).
FazJaxton

3

Peut-être que vous recherchez simplement une combinaison vim pure, mais EasyMotion est un plugin qui vaut la peine d'être essayé. HTH. :)


Ouais! EasyMotion est tout ce dont vous avez besoin pour compléter cela de manière élégante.
Lorem Ipsum Dolor
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.