Opening Vim help in a vertical split window

Vim

Vim Problem Overview


Is there a way to get Vim help to open in a vertical split pane rather than a horizontal one?

Vim Solutions


Solution 1 - Vim

:vertical (vert) works:

:vert help

You can also control whether the window splits on the left/top or the right/bottom with topleft (to) and botright (bo). For example, to open help in the right window of a vertical split:

:vert bo help

Solution 2 - Vim

As an alternative to Haroogan and Sean's answers you can use the FileType event for the autocommand like this:

autocmd FileType help wincmd L

Although this will change the position of any help window as well as moving the window after manually placing it if the file you are looking at changes. But I believe that this is a problem with any solution.

Solution 3 - Vim

No need to remap any commands or introduce weird aliases like :Help. Here is the solution. Create ~/.vim/after/ftplugin/help.vim where you can override any Vim settings particularly for help and add the following line there:

autocmd BufWinEnter <buffer> wincmd L

This hook will ensure that any help file is opened in vertical split. Furthermore, it does not have a side effect described in Sean's answer. Personally, this is perfect solution for me so far.

Hope this helps. Best of luck.

Solution 4 - Vim

This command should do it:

:vert help

Solution 5 - Vim

Put this in your .vimrc:

command -nargs=* -complete=help Help vertical belowright help <args>

Now you can open a vertical help with the :Help command (notice that the first-letter is uppercase)

Solution 6 - Vim

Put the following in your ~/.vim/ftplugin/help.vim

wincmd L

Can't get simpler than this :)

Solution 7 - Vim

To make help files always open in a vertical split on the right, put this in your vimrc:

augroup helpfiles
  au!
  au BufRead,BufEnter */doc/* wincmd L
augroup END

This will have the side effect of having anything with "doc" in its path open in a vertical split, but that may not be a problem for you. It isn't for me. If you would rather it open in a left vertical split, or anything else for that matter, you can change wincmd L. You can learn more about it with :he wincmd

Solution 8 - Vim

This moves the help window once. So you can freely move it around after the window is created.

if has('autocmd')
  function! ILikeHelpToTheRight()
    if !exists('w:help_is_moved') || w:help_is_moved != "right"
      wincmd L
      let w:help_is_moved = "right"
    endif
  endfunction

  augroup HelpPages
    autocmd FileType help nested call ILikeHelpToTheRight()
  augroup END
endif

The function, ILikeHelpToTheRight() will only run wincmd L once per window (it's what the w: prefix is for).

This is then called whenever a "help" file is opened. This doesn't have the side-effects of EdJoJob's solution.

Solution 9 - Vim

Dynamically open help windows at the top if there's more than one window in current tab, or on the right, if there's only one window:

if winnr('$') > 2
	wincmd K
else
	wincmd L
endif

You'll need to place this in ftplugin/help.vim or use it with an autocmd, e.g.:

augroup my_filetype_settings
autocmd!
autocmd FileType help if winnr('$') > 2 | wincmd K | else | wincmd L | endif
augroup END

Solution 10 - Vim

This is meant to add to @m42's answer, but I don't have 50 rep yet here on SO proper to add to the comments.

Add nnoremap <C-H> :vert bo help to .vimrc

Now pressing Ctrl-H in Normal mode will jump into Command mode, prefixed to open help in a vertically split window to the right. Include a trailing space after help·<-- at the end of the config line for best results.

This mapping allows you to still use :help \ :h to open a horizontally split window or cycle through your previous help command history without the prompt auto-expanding.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYewgeView Question on Stackoverflow
Solution 1 - VimOldBuildingAndLoanView Answer on Stackoverflow
Solution 2 - VimEdJoJobView Answer on Stackoverflow
Solution 3 - VimAlexander ShukaevView Answer on Stackoverflow
Solution 4 - VimBerzemusView Answer on Stackoverflow
Solution 5 - VimChronialView Answer on Stackoverflow
Solution 6 - Vimsharat87View Answer on Stackoverflow
Solution 7 - VimSean MackeseyView Answer on Stackoverflow
Solution 8 - VimdocwhatView Answer on Stackoverflow
Solution 9 - VimrafiView Answer on Stackoverflow
Solution 10 - VimremyActualView Answer on Stackoverflow