Closed3

neovimでhelpを縦分割で右側に開きたい

yskakskyskaksk

neovimで :help を実行すると水平方向に分割されて表示される。横長のディスプレイだとちょっと見づらい。

縦方向に分割するには :vertical help {topic} と入力すれば良い。

デフォルトの設定だと、画面の左側にヘルプが開かれる。
個人的には右側に開いてほしいので、その場合は
:belowright vertical help {topic} とするか、毎回入力するのが面倒なら

vim.opt.splitright = true

とすれば良い。

yskakskyskaksk

さて、このコマンドだとhelpがちょうど右半分に開かれる。ヘルプはもう少し狭い幅でもいいと感じることも多い。幅を指定するには vertical resize 80 のようなコマンドを使う。

vim.api.nvim_set_keymap('n', '<leader>h', [[:execute 'vertical help ' . input('Help: ') . ' | vertical resize 80'<CR>]], opts)
yskakskyskaksk

これでもいいのだが、補完が効かなくて若干不便。
というわけで、自作コマンドを定義した

vim.api.nvim_create_user_command("Help", function(command)
    local success, msg = pcall(vim.cmd, "vertical help " .. command.args .. " | vertical resize 80")
    if not success
        vim.api.nvim_err_writeln(msg)
    end
end, { nargs = 1, complete = "help" }
)
vim.api.nvim_set_keymap("n", "<Leader>h", ":Help ", opts)

complete = "help" とすることで、ヘルプファイルの補完候補が出る

このスクラップは2023/04/15にクローズされました