Cursorbewegungsverlauf in Vim


10

Wie kann ich die Cursorposition in Vim so wiederherstellen, wie sie vor dem Scrollen, Auswählen oder PgUp / PgDn war?

Ich bin es leid zu suchen, wo ich war, bevor ich nach oben gescrollt habe, um etwas oben zu sehen.

Gibt es so etwas wie die Befehle "Vorherige Cursorposition" und "Nächste Cursorposition" (wie 'u' und 'R' für reguläres Rückgängigmachen / Wiederherstellen)?

Beispiel: Suchen Sie irgendwo in der Mitte der Quelldatei (keine Bearbeitung), springen Sie dann nach oben ( 1G) und finden Sie nicht, wo Sie vorher waren. Natürlich keine Noten gesetzt. (Ich weiß, dass ich ": sp" verwenden kann, um mehrere Orte gleichzeitig anzuzeigen).

Aktualisieren. Die Frage ist noch offen, ich habe ein Follow-up erhalten:

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.

Gibt es also Standard- oder Nicht-Standard-Methoden (einschließlich Patches für Vim oder Vim-Erweiterungen), um sich an den Verlauf der Cursorbewegung zu erinnern?

Antworten:


9
  • Ctrlo geht zurück in die Sprungliste
  • Ctrli geht in der Sprungliste vorwärts

zusätzlich würde ich in Betracht ziehen, eine Markierung über m'und zu setzen, wenn mit Scrolling Press fertig ''.


OK, Strg + o bringt mich zu der Stelle, an der ich bearbeitet habe. Wie komme ich zu dem Ort, an dem ich gesucht habe ? Ich gebe "1G" ein, um zum Anfang zu springen, und weiß nicht, wie ich zurückspringen soll (ich habe nicht bearbeitet). Natürlich ist die Markierung nicht gesetzt und ich habe ": sp" nicht verwendet.
Vi.

@Vi: Nein, Strg-O springt dorthin, wo dein letzter Sprung war (Sprungliste). G; geht
dorthin,

1
1. "vim initrd.txt". 2. 5 mal PgDn, 10 mal Down. 3. Halten Sie PgUp gedrückt, bis Sie oben angekommen sind. 4. Strg + o? Nein, es ist nur nach oben gesprungen. 5. Wieder Crtl + o? Es hat eine andere Datei geöffnet ... Ich verstehe nicht genau, was Strg + o macht, aber es macht nicht nur den letzten Cursorbewegungsbefehl rückgängig.
Vi.

Ich weiß, es wird die "Sprungliste" verwendet ..: Hilfssprünge ... deshalb meinte ich, wahrscheinlich eine gute Idee, die Marker zu verwenden. Wenn Sie in Ihrer Datei herumspringen und zu DIESEM Ort zurückkehren möchten, an dem Sie begonnen haben: Setzen Sie eine Markierung, springen Sie herum und kehren Sie dann mit '' zurück.
Akira

Ich kann also nicht dafür sorgen, dass Vim den Text- und Cursor-Bildlaufverlauf rückwärts wiedergibt (ich habe auch erwartet, dass das Scrollen mit der Maus in gvim funktioniert), oder? Ich habe erwartet, dass beim Halten von Strg + O meine Textbewegungen umgekehrt werden und die gerade geöffnete Datei am Anfang endet.
Vi.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.