📏
`cmdheight=0`がrevertされたのでRulerで頑張ってみた
Vimのcmdheight=0
はrevertされてしまいました
でも一度味わってしまったあの感覚を諦めきれなくてプラグインを作ってみました。
という前回の記事の1ヶ月前にこんなプラグインを作ってみていました。
導入するとこうなります。
cmdlineの代わりにstatuslineを隠して、情報はrulerに表示する戦略です!
わーい!すっきり(?)
Install
vim9script
⋮
dein#add('utubo/vim-exruler')
⋮
# g:exruler = {}
# NERD FONTSを使ってるなら以下を設定するとかっこよく(?)なります
# g:exruler.head = "\ue0bc"
# g:exruler.tail = "\ue0be"
# g:exruler.sep = "\ue0bc"
# g:exruler.sub = ["\ue0b9", "\ue0bb"]
# シンプルにしたいのなら…
# g:exruler.format = "%<%=%l:%-2c"
# g:exruler.width = 15
# (デバッグ用)以下を指定するとVimEnter時に起動しなくなります。
# g:exruler.at_start = 0
カスタマイズ
表示形式
-
&rulerformat
と同じように表示内容を設定できます。g:cmdline.format = '%t%=%{&fenc} %{&ff} %l:%c'
- モード表記は
g:cmdline.mode
でカスタマイズできます。g:cmdline.mode.n = 'N' # ノーマル
- 区切り線も変更できます。
# NERD FONTSが使えるならこんな感じ g:exruler.head = "\ue0bc" g:exruler.tail = "\ue0be" g:exruler.sep = "\ue0bc" g:exruler.sub = ["\ue0b9", "\ue0bb"]
色
ベースとなるルーラーと各モード表記の色の2色だけですが、hilight
コマンドで設定できます。(ハイライトグループについてはREADME.mdを見てください)
また、特に設定しなくてもcolorschemeからそれっぽい色を拾ってくるようにしています。
vim-cmdheight0とくらべて
vim-cmdheight0は疑似statuslineによってcmdlineを隠すプラグインです。
利点
&rulerformat
をかっこよさげに設定しているだけで、vim-cmdheight0のように無理やり表示しているわけではないので安定しています。
チラついたり急に表示されなくなったりしません!
欠点
echoできる範囲が狭い!
画面の半分がルーラーになるのでちょっと長めの文字列をechoするとすぐ改行表示→入力街になります
終わりに
冒頭にあるように、このプラグインは自分用に作ったもののお裾分けです。
作ったもののやはりecho範囲が狭いのとルーラーの表示もなくしたいという思いから、今は私はvim-cmdheight0のZENモードを作って使ってます。
Discussion