使用 时:help
,它会水平分割窗口并在顶部窗口中打开帮助。然后我需要使用^w L
将帮助窗口移到右侧。如果使用^w f
打开光标下的文件,情况也一样,窗口会水平分割并在顶部窗口中打开文件。
有没有办法让这些命令垂直分割窗口?
答案1
Vim 提供以下命令:
:vert[ical] {cmd}
Execute {cmd}. If it contains a command that splits a window,
it will be split vertically.
:[count]winc[md] {arg}
Like executing CTRL-W [count] {arg}.
所以:
- 要打开垂直帮助窗口,请输入
:vert help
- 要在新的垂直分割中编辑光标下的文件名,请输入
:vert winc f
答案2
这将移动帮助窗口一次。因此您可以在创建窗口后自由移动它。
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
该函数每个窗口ILikeHelpToTheRight()
仅运行wincmd L
一次(这就是w:
前缀的用途)。
答案3
这是 neovim 的 lua 中的自动命令。
-- Open help window in a vertical split to the right.
vim.api.nvim_create_autocmd("BufWinEnter", {
group = vim.api.nvim_create_augroup("help_window_right", {}),
pattern = { "*.txt" },
callback = function()
if vim.o.filetype == 'help' then vim.cmd.wincmd("L") end
end
})
答案4
解决此问题的一个方法是添加command
s。我喜欢简洁的命令,所以我这样命名,但您可以随意命名。
"
" -narg: the number of arguments to the command
" -complete: enables arguments completion with `help` subjects
" <args>: a placeholder that will be replaced by an argument to the command
"
" :Hv to open vertically
command -narg=1 -complete=help H vert help <args>
" :Ht to open in a new tab
command -narg=1 -complete=help Hh tab help <args>