2015-06-01 9 views
14

Wenn das Vim-Fenster horizontal geteilt wird, wird der Inhalt des "alten" Fensters gescrollt, um die relative Cursorlinienposition beizubehalten. Dies geschieht sogar für kleine "Helfer" -Puffer, wie Quickfix oder Vorschaufenster.Vim: Fensterinhalt beim Öffnen der Vorschau/Quickfix nicht verschieben

Die dadurch verursachte Textbewegung wird ärgerlich, wenn eine Teilung wiederholt geöffnet und geschlossen wird - z. Vorschaufenster, das vom Completion-Plugin verwendet wird. Ist es möglich, diese Funktion zu deaktivieren und das alte Fenster beim Teilen nicht zu scrollen (es sei denn, die Cursorlinie muss sichtbar bleiben)?

Beispiel - aktuelles Verhalten:

+--------------+    +--------------+ 
| a   |    | b   | 
| b   | copen  | c (cursor) | 
| c (cursor) |  -->  | d   | 
| d   |    +--------------+ 
| e   |    | (preview) | 
+--------------+    +--------------+ 

Wunschverhalten:

+--------------+    +--------------+ 
| a   |    | a   | 
| b   | copen  | b   | 
| c (cursor) |  -->  | c (cursor) | 
| d   |    +--------------+ 
| e   |    | (preview) | 
+--------------+    +--------------+ 
+1

Hinweis: diese Frage gestellt wird zu SO, da die Antwort wahrscheinlich Vimscript-Programmierung erfordert. – rburny

+0

Haben Sie eine Lösung gefunden? –

+0

Leider nicht - und ich finde es nicht nervig genug, um ein Plugin zu schreiben, um es zu beheben :) – rburny

Antwort

1

Probieren Sie etwas wie

map <F12> mcHmh:split<cr>'hzt`c 

Speicherposition in c mc

H bewegen speichern die Position h mh

Ihr Befehl hier nach oben aufgespalten zum Beispiel

bis h bekam 'h diese zt nach oben zu lien setzen und bekam zu c

+0

Danke, aber das gilt nur für manuell geöffnete Splits, und ich bin vor allem über Vorschaufenster (bearbeitet die Frage zu machen) es ist offensichtlich). – rburny

Verwandte Themen