
Vim 画面下部のステータスラインには、編集中のファイル名や、カーソル位置の情報などを表示することができます。
ステータスラインのヘルプを表示する
:help 'statusline'
☝️ ワンポイント
オプションに関するヘルプを参照するときは、正式には上記のようにパラメータをシングルクォートで囲んで指定します。ただし、
statusline に関してはシングルクォートで囲まなくても同じ項目が表示されます。ステータスラインに表示する内容を設定する
:set laststatus=2 "常に Status Line を表示する
:set statusline {format}
laststatus オプションでは、ステータスラインの表示条件を指定します。
laststatusの値:0… ステータスラインを表示しない1… ウィンドウを分割したときにのみステータスラインを表示する(Vimのデフォルト)2… 常にステータスラインを表示する(Neovim のデフォルト)3… 常にステータスラインを表示する。ウィンドウが分割されても 1 つのステータスラインを共有する(Neovim 専用)
Neovim では laststatus の新しい設定値として 3(グローバルステータスライン)が追加されており、ウィンドウを分割した場合にもステータスラインが 1 つだけ表示されるようになります。
statusline オプションでは、ステータスラインに表示する内容を指定します。
例えば、下記のようなパラメーター入りの文字列を指定します。
%F%m%h%w\ %<[ENC=%{&fenc!=''?&fenc:&enc}]\ [FMT=%{&ff}]\ [TYPE=%Y]\ %=[CODE=0x%02B]\ [POS=%l/%L(%02v)]
% で始まる各パラメータは次のような値に置換されて表示されます(詳細は、Vim のヘルプ :help 'statusline' を参照してください)。
%F… ファイルのフルパス。%m… 編集されているなら [+]。リードオンリーなら [-]。%h… Help buffer なら [HELP] と表示。%w… Preview window なら [PREVIEW] と表示。%<… ウィンドウの横幅が縮まってもここまでは表示することを保証。%{...}… 式評価。中に Vimscript の式を記述できる。%{&fenc!=''?&fecn:&enc}
fileencoding が設定されていればその値、設定されていなければ encoding を表示。%{&ff}
fileformat の値を表示。%{&fileformat} の省略形。(dos, unix, mac)
%=… これ以降の内容を右寄せで表示。%Y… filetype の値を表示。通常はこれに対応する syntax file が読み込まれているはず。%02B… カーソル位置の文字コードを16進数で表示。%l/%L… 現在行 / 総行数%02v… カーソル位置の桁番号。
下記は、Vim/Neovim の設定ファイルでの具体的な設定例です。
set laststatus=2 " 常に Status Line を表示する
set statusline=%F%m%h%w\ %<[ENC=%{&fenc!=''?&fenc:&enc}]\ [FMT=%{&ff}]\ [TYPE=%Y]\ %=[CODE=0x%02B]\ [POS=%l/%L(%02v)]vim.opt.laststatus = 2 -- 常に Status Line を表示する
vim.opt.statusline = [[%F%m%h%w %<[ENC=%{&fenc != '' ? &fenc : &enc}] [FMT=%{&ff}] [TYPE=%Y] %=[CODE=0x%02B] [POS=%l/%L(%02v)]]]