Programmation dans vim Je vais souvent chercher quelque chose, je le tire, puis je reviens où j'étais, je l'insère, je le modifie.
Le problème est qu'après avoir cherché et trouvé, je dois retrouver MANUELLEMENT mon chemin vers l'endroit où j'étais.
Existe-t-il un moyen automatique de revenir à l'endroit où j'étais lorsque j'ai lancé ma dernière recherche?
Réponses:
Ctrl+ Om'emmène à l'emplacement précédent. Je ne connais pas l'emplacement avant la recherche.
Modifier: `.vous amène également à la dernière modification que vous avez apportée.
la source
:70
puis:100
, en appuyantctrl+o
une fois, on revient à l'emplacement d'origine, pas à la ligne 70. :(Utilisez
``
pour revenir à la position exacte dans laquelle vous vous trouviez avant de chercher / sauter, ou''
pour revenir au début de la ligne sur laquelle vous vous trouviez avant de chercher / sauter.la source
n
-ing aux matchs suivants signifie que vous ne revenez pas à l'endroit où vous avez commencé.g;
etg,
, il va à la position du changement précédent / suivant.Je l'ai toujours fait en établissant une marque.
En mode commande, appuyez sur m[lettre] . Par exemple, madéfinit une marque sur la ligne actuelle en utilisant a comme identificateur de marque.
Pour revenir à la marque, appuyez sur '[lettre] . Par exemple, 'avous ramène à la marque de ligne définie à l'étape 1. Pour revenir à la position de la colonne de la ligne où vous avez marqué la ligne, utilisez `a( coche arrière [lettre] ).
Pour voir toutes les marques actuellement définies, tapez
:marks
.Sur une note légèrement indépendante, je viens de découvrir une autre chose intéressante sur les marques.
Disons que vous sautez pour marquer b en faisant mb. Vim définit automatiquement la marque '(c'est-à-dire un guillemet simple) sur la ligne sur laquelle vous vous trouviez avant de passer à la marque b .
Cela signifie que vous pouvez faire 'bpour sauter à cette marque, puis faire ''(2 guillemets simples) pour revenir à l'endroit où vous étiez auparavant.
J'ai découvert cela accidentellement en utilisant la
:marks
commande, qui affiche une liste de toutes les marques.la source
Vous devriez vraiment le lire,
:help jumplist
cela explique très bien tout cela.la source
CTRL+Oet CTRL+I, pour sauter d'avant en arrière.
la source
La façon la plus simple est de définir une marque, avec
m[letter]
, puis d'y revenir avec'[letter]
la source
J'utilise celui-ci:
Ensuite, si je recherche quelque chose en utilisant
/
ou?
, je peux revenir rapidement en arrière`s
. Vous pouvez remplacer la lettres
par n'importe quelle lettre que vous aimez.la source
m
est définie comme autre chose que mark, dans le cas de NerdTree, c'est le menu.