Если вы редактируете файл в VIM, а затем вам нужно открыть существующий буфер (например, из списка буферов:), :buffers
как вы можете открыть его в вертикальном разделении?
Я знаю, что вы уже можете открыть его с нормальным разделением, как:
:sbuffer N
Здесь указан нужный N
вам номер буфера, однако вышеизложенное открывает этот N
буфер по горизонтали, а не по вертикали.
Я также знаю, что вы можете изменить расположение окон после открытия и иметь вертикальное разделение следующим образом:
Ctrl-W H
Ctrl-W L
Который будет вертикально разделять окно вправо или влево.
Мне кажется, что если есть, sbuffer
то должно быть, vsbuffer
но его не существует (не то, что я знаю)
Также обратите внимание, что я не ищу плагин для решения этого вопроса. Я знаю о множестве плагинов, которые позволят вам сделать это.
Я уверен, что я мог бы пропустить что-то, что уже есть.
РЕДАКТИРОВАТЬ: в лучшем духе сотрудничества, я создал простую функцию с сопоставлением, если кто-то еще сталкивается с этой проблемой и не хочет устанавливать плагин:
Функция:
" Vertical Split Buffer Function
function VerticalSplitBuffer(buffer)
execute "vert belowright sb" a:buffer
endfunction
Отображение:
" Vertical Split Buffer Mapping
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>)
Это решает задачу открытия буфера в правильном разделении, поэтому для буфера 1 вы бы назвали его следующим образом:
:Vbuffer 1
vsbuffer N
? Раздражает. Ваш ответ прибивает это. Спасибо!vsbuffer
тоже, и я часто забываюCtrl-w T
открыть буфер на новой вкладке (или я хочу сделать это с буфером, который в данный момент не активен или не виден). Таким образом, в качестве альтернативы, вы можете использовать столбец для любого из этих случаев, который мне легче запомнить, чем правильный ответ @ Jeet::vsp | b N
и:tabe | b N
.N
автозаполняться (что не представляется возможным с командой в другом ответе). Оба проголосовали, тем не менее.:vsp | b1
1 является некоторым номером буфера. Используйте
buffers
для перечисления всех буферов.Вот некоторая дополнительная информация о разделении, если вам интересно. Ссылка на сайт
источник
:ls
, что, кажется, ярлык для:buffers
.:vsp | b <buffer name>
Вы можете облегчить свою боль, добавив следующее в ваш .vimrc
Теперь вы можете использовать его следующим образом.
источник
Вы также можете комбинировать
:ls
список текущих буферов и команды, чтобы открыть нужный буфер в любом:b <N/bufname>
:vsp | b <N/bufname>
:sp | b <N/bufname>
Для этого я добавил следующие сопоставления в свой
~/.vimrc
(порядок сопоставлений представляет приведенный выше список нужных окон)Исходя из этого, вы можете увидеть список буферов, как только вы нажмете
<leader>b
<leader>v
<leader>s
а затем просто введите нужный номер буфера
N
. Это откроет буфер в нужном окне. Конечно, вы также можете использовать часть имени буфераbufname
.Я очерчен
<leader>
на,
основе наДля некоторых людей (например, для меня) это может даже заменить плагины, такие как MiniBufExpl, и, таким образом, сэкономить место на экране.
источник
Вы можете использовать Neovim, вот так:
источник