Comment revenir aux lignes éditées avant la dernière dans Vim?

201

Je connais la `.commande qui va à la dernière ligne modifiée. Existe-t-il un moyen d'aller plus loin dans l'historique d'édition? J'insère souvent accidentellement quelque chose lors de la navigation dans le fichier, annule, mais `.ne m'amène plus où je veux.

Bob
la source
24
Merci de m'avoir indiqué '..
Joachim Breitner
16
''est plus pratique que'.
AA.
1
@AA pas quand vous avez des touches mortes sur votre clavier.
tomasyany

Réponses:

374

Essayez g ;et g ,. Ils sautent en arrière et en avant dans la liste des modifications.

Voir :help changelistpour plus de détails.

Randy Morris
la source
Jusqu'à présent, j'avais l'habitude d'utiliser ce hack de défaire suivi de refaire pour aller à la dernière position modifiée. c'est-à-dire "u" puis "ctrl + r".
Mayank Jaiswal
1
@Bob - êtes-vous toujours en vie? s'il vous plaît pouvez-vous faire appel au jugement sur la bonne réponse. Cette réponse a suffisamment de votes pour justifier une contestation sérieuse;)
arcseldon
Oh, où est @Bod maintenant, vous devriez marquer que c'est la bonne réponse, il y a beaucoup de personnes atteintes de TOC ici.
Finn
cela fonctionne pour moi
NanoNova
72

J'utilise CTRL-Oet CTRL-Ipour aller et venir entre les points récents des fichiers. Il passe également par certaines commandes de mouvement, mais je trouve que cela me ramène généralement à l'endroit où j'éditais.

Josh Lee
la source
37
Ces commandes se déplacent dans la 'jumplist' ( :help jumplist), tandis g;que g,défilent dans la 'changelist'.
nelstrom
2
J'ai trouvé cela très utile, même s'il ne répondait pas directement à la question
ebonhand
2
Remarque, Tab est un moyen plus pratique de taper Ctrl + I
Steven Lu