Как открыть файл справки в Vim в новом буфере в существующем окне?
Я часто просматриваю файлы справки в Vim, но иногда я хочу прочитать их в полноэкранном режиме. Поскольку команда: help открывает его в новом окне и закрывает старое окно, если оно было единственным, кроме файла справки, по какой-то причине закрывает Vim, единственный способ, которым я это сделал, - открыть файл справки, а затем снова открыть его на новой вкладке.
Я задавался вопросом, есть ли способ сделать команду: help (или другую команду) открыть файл справки в том же окне, но новый буфер?
Ответы
Ответ 1
Возможно, вы ищете :only
или CTRL-W o
(та же команда). Это делает текущее окно единственным на экране. Все остальные окна закрыты.
Вы также можете вертикально разделить окно справки с помощью:
:vert help {subject}
BTW, :help
действительно открывается в новом буфере, он просто "не внесен в список". Чтобы перечислить все буферы, включая не включенные в список:
:buffers!
Ответ 2
Если я правильно понял вопрос, все, что вам нужно сделать, это связать вызов команды справки с помощью единственной команды:
:help <subject> | only
Ответ 3
Вы можете открыть новую вкладку с помощью :tab help
. Это даст вам полную помощь по экрану. Также смотрите :help :tab
.
Ответ 4
:help
обычно открывает новое окно, если только активный буфер окна buftype
уже help
. Чтобы по-настоящему повторно использовать окно, вы должны открыть новый пустой буфер в этом окне с помощью :enew
, изменить buftype
на :set buftype=help
, а затем выпустить :help <whatever>
.
Для удобства вы можете определить команду для этого в .vimrc
:
command! -nargs=1 -complete=help H :enew | :set buftype=help | :h <args>
И затем используйте :H {subject}
из любого окна.
Используя этот метод, вы действительно повторно используете окно, и это позволяет использовать C-^
для перехода к альтернативному примеру. Он также будет уважать ваш макет окна (разделенные окна и т.д.), В отличие от других ответов.
Ответ 5
Вы можете использовать :help
, чтобы открыть окно справки, затем Ctrl+W _, чтобы сделать это окно полноэкранным (в основном, см. параметр winminheight
).
Ответ 6
Я написал пользовательскую команду, используя для этого капитал H (работает точно так же: h, за исключением того, что он использует все окно):
command! -nargs=1 -complete=help H call HelpFullScreen( <f-args> )
function! HelpFullScreen( topic )
exe "h " . a:topic
wincmd j
try
clo
catch /^Vim(\a\+):E444:/ " can't close last window
endtry
endfunction
Работает как шарм!
Ответ 7
Чтобы открыть полноразмерную новую вкладку с нужной темой:
:tab help {subject}
:tab h {subject}
Subject - любой действительный аргумент :help
.
Чтобы разбить текущее окно:
:vert help {subject}
:vert h {subject}