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.


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.


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.


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
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.