#vim
Делаю :vsplit в vim, хотелось бы, чтобы второе содержало продолжение буфера с последней отображаемой строки в первом окне - как две страницы открытой книги. Можно ли такое сделать, и как?
Ответы
Ответ 1
можно синхронизировать листание в нескольких окнах с помощью команды :set scb (scb — это сокращённо, полностью — scrollbind). выполнить её нужно в каждом синхронизируемом окне (чтобы отключить окно от синхронизации, добавьте no — :set noscb). можно выполнить сразу во всех открытых окнах командой :windo set scb для реализации задуманного вами надо после разбиения на два окна пролистать одно из них на одну страницу. например, нажав z+ в нормальном режиме, а затем включить синхронизацию окон командой :windo set scb при желании можете эти действия свести в макрос и добавить его в ~/.vimrc.Ответ 2
В коммандной строке: :exe 'right vsplit'|exe 'normal z+' Лучше замапить клавишу: :map:right vsplit z+ Т.к. в книге страницы нумеруются слева на право и читаем мы сверху вниз, а Vim создаёт новые окна поумолчанию слева и вверху, рекомендую это поправить в vimrc: set splitbelow set splitright Тогда нет необходимости right перед vsplit.
Комментариев нет:
Отправить комментарий