En vim, comment puis-je revenir là où j’étais avant une recherche?

Programmation en vim Je vais souvent chercher quelque chose, le tirer, puis revenir à ma position, l’insérer, le modifier.

Le problème est que, après avoir cherché et trouvé, je dois MANUELLEMENT retrouver mon chemin.

Existe-t-il un moyen automatique de revenir là où j’étais lorsque j’ai lancé ma dernière recherche?

Ctrl + O m’amène à l’emplacement précédent. Je ne sais pas sur l’emplacement avant la recherche.

Edit: Aussi, ` . vous amène au dernier changement que vous avez fait.

Utilisez `` pour revenir à la position exacte dans laquelle vous étiez avant de chercher / sauter, ou '' pour revenir au début de la ligne sur laquelle vous étiez avant de chercher / sauter.

Je l’ai toujours fait en fixant une marque.

  1. En mode commande, appuyez sur m [lettre] . Par exemple, ma marque une marque sur la ligne actuelle en utilisant a comme identificateur de marque.

  2. Pour revenir à la marque, appuyez sur ‘[lettre] . Par exemple, a vous ramène à la marque définie à l’étape 1.

Pour voir toutes les marques actuellement définies, tapez : marques .


Sur une note légèrement sans rapport, je viens de découvrir une autre chose intéressante sur les marques.

Disons que vous sautez à la marque b en faisant ‘b . Vim définit automatiquement la marque (c’est-à-dire un seul devis) selon la ligne sur laquelle vous vous trouviez avant de sauter à la marque b.

Cela signifie que vous pouvez faire «b pour sauter à cette marque, puis faire » (2 guillemets simples) pour revenir à ce que vous étiez avant.

Je l’ai découvert accidentellement en utilisant la commande : marks , qui affiche une liste de toutes les marques.

Vous devriez vraiment lire :help jumplist vous expliquer cela explique très bien tout cela.

CTRL + O et CTRL + I pour revenir en arrière.

La manière la plus simple est de définir une marque, avec m[letter] , puis d’y revenir avec '[letter]

J’utilise celui-ci:

 nnoremap / ms/ nnoremap ? ms? 

Alors si je recherche quelque chose en utilisant / ou ? , Je peux revenir rapidement par `s . Vous pouvez remplacer la lettre s par n’importe quelle lettre que vous aimez.