😶
Vimの区切り線の表示をミニマルにする設定を紹介
どうも。以前Statuslineになった者です。
一度Statuslineになったらなんか満足してしまい、以降はStatuslineを全く表示しない設定を使っています。情報を知りたくなったら<c-g>
やg<c-g>
で表示させればよいのでそれほど問題になりません。
「デフォルトのVimかな?」と思われたでしょうか。実は違います。vim --clean
で起動した場合、windowを分割すると以下のようになります。
意外と区切り線の主張が強いんですよね。あと、ファイル末尾以降を示す~
が地味に気になります。
最初の画像のような表示にするためには少し設定が必要になります。
以下の設定をvimrcに追加してください。
vimrc
" 最下部のstatuslineを表示しない
set laststatus=0
" ファイル末尾以降の`~`の表示を削除
set fillchars+=eob:\\x20
" 縦区切り線をシンプルに
set fillchars+=vert:│
" 横区切り線をシンプルに
set statusline=─
set fillchars+=stl:─,stlnc:─
" 区切り線のハイライトを抑え気味に
highlight! link StatusLine Comment
highlight! link StatusLineNC Comment
if has('nvim')
highlight! link WinSeparator Comment
else
highlight! link VertSplit Comment
endif
ポイントは'statusline'
と'fillchars'
のstl
/stlnc
に設定する文字を揃えることです。VimからするとStatuslineと区切り線をそれぞれ表示しているのですが、同じ文字なので、見た目は一本の線になります[1]。
また、ハイライトは多くのカラースキームで薄めの配色であるComment
にしています。これはカラースキームによって印象が異なると思うので、適宜調整してください。
なお、筆者はこちらの設定は主にVim用で使っています。Neovimではlaststatus=3
だけで区切り線をシンプルにできるので、そちらもおすすめです。
-
\
(スペース)を設定すると見た目上の区切りを消すこともできてしまいます ↩︎
Discussion