Vim: открыть окно предварительного просмотра без перемещения текста в главном окне

Когда omni-завершение (или другие вещи) открывает окно предварительного просмотра, размер главного окна уменьшается, чтобы освободить место для окна предварительного просмотра.

По умолчанию первая строка, которая была видна в главном окне до появления окна предварительного просмотра, также будет отображаться после появления окна предварительного просмотра. Это прискорбно, что текст в главном окне визуально отображается нажатым.

Я бы предпочел, чтобы текст в главном окне оставался там, где он есть. Это фактически означало бы, что первая видимая строка в главном окне должна измениться, когда окно предварительного просмотра всплывает и закрывается.

Кто-нибудь знает хороший способ сделать это?

Ответ 1

Я не знаю, как вызвать это, но используйте: :normal! Hmx`` для сохранения текущей позиции окна и :normal! `xzt`` для ее восстановления.

Ответ 2

Я достиг этого вопроса, когда искал решение этой проблемы сам (хотя я не использую omni-завершение, но другие окна также путаются с положением прокрутки окон). Я не мог найти хорошее решение, и оно действительно меня беспокоило, поэтому я написал небольшой плагин vim, который решит эту проблему.

https://github.com/gillyb/stable-windows

Я думаю, что это именно то, что вы хотите. Я написал это только недавно, поэтому, если есть какие-либо ошибки, не стесняйтесь открывать проблемы, и я постараюсь их исправить.

Надеюсь, это поможет! :)