Historique du mouvement des curseurs à Vim

10

Comment puis-je restaurer la position du curseur dans Vim telle qu'elle était avant le défilement, la sélection ou PgUp / PgDn?

J'en ai assez de chercher où j'étais avant de faire défiler pour regarder quelque chose en haut.

Existe-t-il quelque chose comme les commandes «Position précédente du curseur» et «Position suivante du curseur» (comme «u» et «R» pour annuler / rétablir régulièrement)?

Exemple: Regarder quelque part au milieu du fichier source (pas d'édition), puis sauter en haut ( 1G) puis ne pas trouver où vous étiez avant cela. Bien sûr, aucune marque n'est fixée. (Je sais que je peux utiliser ": sp" pour visualiser plusieurs endroits simultanément).

Mise à jour. La question est toujours ouverte, j'ai reçu un suivi:

The answerers didn't understand your question and the answers were too weak of a solution. c-o & c-i don't work for movements.
If I understood correctly, I find that your question was un-answered and that you were looking for a solution for a scenario like this:
As I am vim beginner I frequently do incorrect movements and actions and would like to undo them as though I had never pressed anything, returning to my previous editing location before I started messing up.

Existe-t-il donc des moyens standard ou non standard (impliquant des correctifs pour les extensions Vim ou Vim) de lui rappeler l'historique des mouvements du curseur?

Vi.
la source

Réponses:

9
  • Ctrlo retourne dans la liste de saut
  • Ctrli avance dans la liste de sauts

en outre, je considérerais de définir une marque via m'et lorsque vous avez terminé avec la presse de défilement ''.

akira
la source
OK, Ctrl + o me ramène à l'endroit où je modifiais. Comment juste à l'endroit où je cherchais ? J'entre "1G" pour sauter au début et je ne sais pas comment revenir en arrière (je n'éditais pas). Bien sûr, la marque n'est pas définie et je n'ai pas utilisé ": sp".
Vi.
@Vi: non, ctrl-o saute à l'endroit où se trouvait votre dernier saut (liste de sauts). g; va là où vous avez édité en dernier
akira
1
1. "vim initrd.txt". 2. 5 fois PgDn, 10 fois vers le bas. 3. Maintenez PgUp jusqu'à ce que vous atteigniez le haut. 4. Ctrl + o? Non, c'est juste passé au sommet. 5. Crtl + o à nouveau? Il a ouvert un autre fichier ... Je ne comprends pas exactement ce que fait Ctrl + o, mais il n'annule pas simplement la dernière commande de déplacement du curseur.
Vi.
je sais, il utilise la "liste des sauts" ..: aide les sauts ... c'est pourquoi je voulais dire, probablement une bonne idée d'utiliser les marqueurs. si vous voulez sauter dans votre fichier et que vous voulez retourner à CET endroit où vous avez commencé: définissez une marque, sautez puis revenez avec ''.
akira
Donc, je ne peux pas faire en sorte que le texte de relecture de Vim et l'historique de défilement du curseur soient inversés (je m'attendais également à ce qu'il gère le défilement de la souris dans gvim), non? Je m'attendais à ce que tout en maintenant Ctrl + O voit mes mouvements de texte inversés, se terminant au fichier juste ouvert positionné au début.
Vi.