Как открыть файл справки в Vim для нового буфера в существующем окне? - PullRequest
17 голосов
/ 29 июня 2010

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

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

Ответы [ 7 ]

24 голосов
/ 29 июня 2010

Возможно, вы ищете :only или CTRL-W o (та же команда). Это делает текущее окно единственным на экране. Все остальные окна закрыты.

Вы также можете вертикально разделить окно справки с помощью:

:vert help {subject}

Кстати, :help на самом деле открывается в новом буфере, это просто "не в списке". Чтобы вывести список всех буферов, включая незарегистрированные:

:buffers!
17 голосов
/ 05 февраля 2011

Если я правильно понимаю вопрос, все, что вам нужно сделать, это связать вызов команды help с командой only :

:help <subject> | only
7 голосов
/ 17 октября 2014

: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-^ для перехода к альтернативе, например.Он также будет учитывать ваше расположение окон (разделенные окна и т. Д.) В отличие от других ответов.

7 голосов
/ 31 октября 2012

Вы можете открыть новую вкладку для помощи с :tab help. Это даст вам полный экран помощи. Также посмотрите на :help :tab.

3 голосов
/ 29 июня 2010

Вы можете использовать :help, чтобы открыть окно справки, затем Ctrl + W _ , чтобы сделать это окно полноэкранным (в основном см. Параметр winminheight).

1 голос
/ 03 февраля 2017

Чтобы открыть новую вкладку в натуральную величину с нужной вам темой:

:tab help {subject}
:tab h {subject}

Субъект - любой действительный аргумент :help.

Чтобы разделить текущее окно:

:vert help {subject}
:vert h {subject}
1 голос
/ 05 июня 2013

Я написал собственную команду, используя заглавную 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

Работает как шарм!

...