2015-06-01 4 views
14

При разбиении окна Vim по горизонтали содержимое «старого» окна прокручивается, чтобы сохранить относительную позицию линии курсора. Это происходит даже для небольших «вспомогательных» буферов, таких как quickfix или окно предварительного просмотра.Vim: не перемещать содержимое окна при открытии предварительного просмотра/quickfix

Движение текста, вызванное этим, становится раздражающим, когда раздвоение многократно открывается и закрывается - например, окно предварительного просмотра, используемое плагином завершения. Можно ли отключить эту функцию и не прокручивать старое окно при расщеплении (если не требуется, чтобы линия курсора была видимой)?

Пример - текущее поведение:

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

Желаемая поведение:

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

Примечания: этот вопрос размещен к SO, поскольку ответ, скорее всего, потребует программирования Vimscript. – rburny

+0

Вы нашли решение? –

+0

К сожалению, нет - и я не нахожу это достаточно раздражающим, чтобы написать плагин, чтобы исправить его :) – rburny

ответ

1

Попробуйте что-то вроде

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

магазин позиция с mc

перехода к началу сохранить позицию в час mh

вашей команды здесь разделить, например

получил ч 'h положить это селезенку к началу zt и получила с

+0

Спасибо, но это касается только открытых вручную разделов, и я в основном разбираюсь в окне предварительного просмотра (отредактировал вопрос, чтобы сделать это более очевидно). – rburny