Vim: Wie verhindert man Sprünge aus dem aktuellen Puffer?

8

Ich habe häufig mehrere Puffer in meiner Vim-Sitzung geöffnet. Das bedeutet, dass mein Jumplist Standorte aus mehreren Puffern speichert. Wenn ich jedoch Ctrl-o verwende, um zu einer vorherigen Position zu springen, möchte ich den Puffer nicht verlassen und möchte zu vorherigen Speicherorten "lokal" in den aktuellen Puffer springen. Wie mache ich das?

Beispiel: Wenn mein Jumplist folgendermaßen aussieht:

%Vor%

Ich möchte beim ersten Drücken von Strg-o in Zeile 15 der Datei aaa.m springen. Wichtig ist, dass ich beim nächsten Drücken von Strg-o nicht zur Datei xxx.m springen möchte. Ich möchte lieber in Zeile 20 der Datei aaa.m springen; das heißt, meine vorherige Position innerhalb des "aktuellen" Puffers. Das Standardverhalten von Vim besteht darin, mich zu Zeile 12 der Datei xxx.m zu bringen. Irgendwelche Ideen, wie ich das erreichen kann?

    
vimgm 15.08.2011, 14:55
quelle

2 Antworten

9

Probieren Sie die folgende Sprunglisten-Traversierungsfunktion aus. Es schreitet sukzessive ab eine Sprunglistenposition zu einer anderen (mit Strg + O oder Strg + I abhängig davon, welche Werte sein back und forw Argumente haben) und stoppt, wenn der aktuelle Ort im selben Puffer wie ist Der Puffer, von dem er gestartet wurde. Wenn es nicht möglich ist, eine Sprungliste zu finden Position in Bezug auf den Puffer, kehrt die Funktion zu der Position zurück, die Jump-Liste hat vor dem Start.

%Vor%

Um diese Funktion zu verwenden a Strg + O Strg > I -Replacement gesperrt Erstellen Sie im aktuellen Puffer wie unten gezeigt Zuordnungen.

%Vor%     
ib. 16.08.2011, 07:50
quelle
0

Vielleicht hilft das EnhancedJumps-Plugin .

Wenn dieses Plugin installiert ist, wird der Sprung zu einem anderen Puffer nur ausgeführt, wenn der gleiche Sprungbefehl unmittelbar danach erneut ausgeführt wird.

    
Deqing 17.04.2013 05:11
quelle

Tags und Links