Vimのヘルプをwincmd L | vertical resize 83で右端にふっとばす

by
カテゴリ:
タグ:

Vimの:helpコマンドでヘルプを表示すると、デフォルトでは現在ウィンドウを水平分割して下側に出現します。

デフォルト動作のイメージ図

-----------    -----------
|         |    |         |
|         |    | foo.txt |
|         |    |         |
| foo.txt | -> |---------|
|         |    |         |
|         |    |  help   |
|         |    |         |
-----------    -----------

しかし、慣習的にヘルプは幅80文字であることが多く、縦長な傾向があり、ワイドディスプレイ主流な現代ではスペースの無駄が大きいです。そこで、ftpluginを使って、ヘルプを開くと同時に右端に移動し、程よい幅に調整してみましょう。邪魔にならず読みやすいです。

明示的にやるなら:vertical help {subject}もありますが、毎回コマンドを打つのは手間ですし、幅の調整は結局発生します。

こういうときにftpluginを使うと、ファイルを開いた直後のコマンド実行を自動化できて便利です。たとえば~/.config/nvim/after/ftplugin/help.vim あたりに以下を仕込むと、:helpコマンドを実行したときに、ヘルプを表示するウィンドウが右端に移動し、幅83文字にリサイズされます。

wincmd L | vertical resize 83 " 幅は少し余裕を持たせている

ただし、プラグイン制作時など、カレントディレクトリ内のヘルプファイルは編集上の都合などから、右側に表示したくない場合もあります。

そんな人は、buftypeがhelpであることを確認してから、ヘルプウィンドウを右端に移動するかどうかを制御するといいですね。

-- ~/.config/nvim/after/ftplugin/help.lua
if vim.o.buftype == "help" then
	vim.cmd("wincmd L | vertical resize 83") -- 幅は少し余裕を持たせている
end

kuuoteさんに教えていただいたのですが、buftype"help"になるのはヘルプを:helpコマンドで開いたときだけのようです。

ナイス!

ENJOY