Dans vim, comment puis-je retourner à l'endroit où j'étais avant une recherche?
Question
Programmation dans vim, je vais souvent chercher quelque chose, tirer, puis revenir à l'endroit où j'étais, insérer, modifier.
Le problème est qu'après que j'ai chercher et de trouver, j'ai besoin de trouver MANUELLEMENT mon chemin de retour à l'endroit où j'étais.
Est-il un moyen automatique de revenir à l'endroit où j'étais quand j'ai entamé ma dernière recherche?
La solution
Ctrl+O me prend à l'emplacement précédent.Ne sais pas à propos de l'emplacement avant la recherche.
Edit:Aussi, `. vous amène à la dernière modification que vous avez fait.
Autres conseils
Utilisation ``
pour revenir à la position exacte vous étiez avant que vous avez cherché/a sauté, ou ''
pour revenir au début de la ligne où vous étiez avant que vous avez cherché/a sauté.
Je l'ai toujours fait par réglage d'une marque.
En mode commande, appuyez sur m [lettre].Par exemple, m a définit une marque à la ligne actuelle à l'aide de un comme la marque identifiant.
Pour revenir à la marque de presse '[lettre].Par exemple, "un vous permet de revenir à la marque à l'étape 1.
Pour voir toutes les marques que défini actuellement, type :les marques.
Un peu sans rapport avec la note, je viens de découvrir autre chose chouette sur les marques.
Disons que vous sauter à la marque b en faisant "b.Vim définit automatiquement la marque ' (c'est un guillemet simple) pour être selon la ligne que vous étiez avant de sauter à la marque b.
Cela signifie que vous pouvez faire "b pour accéder à cette marque, alors n' '' (2 citations) de sauter en arrière pour qu'vous étiez avant.
J'ai découvert cette accidentellement à l'aide de la :les marques commande, qui affiche une liste de toutes les marques.
Vous devriez vraiment lire :help jumplist
il explique tout cela très bien.
CTRL+O et CTRL+I, pour sauter en arrière et en avant.
La façon la plus simple est de mettre une marque, avec m[letter]
, puis y revenir avec '[letter]
J'utilise celui-ci:
nnoremap / ms/
nnoremap ? ms?
Ensuite, si je recherche quelque chose en utilisant des /
ou ?
, Je peux revenir en arrière rapidement par `s
.Vous pouvez remplacer la lettre s
à chaque lettre que vous aimez.