Подтвердить что ты не робот

Как открыть файл справки в Vim в новом буфере в существующем окне?

Я часто просматриваю файлы справки в Vim, но иногда я хочу прочитать их в полноэкранном режиме. Поскольку команда: help открывает его в новом окне и закрывает старое окно, если оно было единственным, кроме файла справки, по какой-то причине закрывает Vim, единственный способ, которым я это сделал, - открыть файл справки, а затем снова открыть его на новой вкладке.

Я задавался вопросом, есть ли способ сделать команду: help (или другую команду) открыть файл справки в том же окне, но новый буфер?

4b9b3361

Ответ 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}