VIM 的狀態行(statusline)設定
阿新 • • 發佈:2019-02-01
設定
研究了一下 VIM 的狀態行設定,並嘗試了幾個外掛(Neat Status Line 、vim-airline)。這些外掛顯示效果確實比較炫酷,但是配置過程稍顯麻煩,比如: vim-airline 需要另外安裝字型才能顯示漂亮的箭頭字元。但該字型顯示中文時,不如預設的“宋體”好看。另外,這些外掛預設不顯示“檔案編碼”,而“檔案編碼”恰好又是我需要的。我是簡單、實用主義者,對於 VIM
狀態行設定,就放棄使用外掛了。
下面的狀態行配置足以滿足我的日常需要:
" 顯示狀態行當前設定
set statusline
" 設定狀態行顯示常用資訊
" %F 完整檔案路徑名
" %m 當前緩衝被修改標記
" %m 當前緩衝只讀標記
" %h 幫助緩衝標記
" %w 預覽緩衝標記
" %Y 檔案型別
" %b ASCII值
" %B 十六進位制值
" %l 行數
" %v 列數
" %p 當前行數佔總行數的的百分比
" %L 總行數
" %{...} 評估表示式的值,並用值代替
" %{"[fenc=".(&fenc==""?&enc:&fenc).((exists("+bomb") && &bomb)?"+":"")."]"} 顯示檔案編碼
" %{&ff} 顯示檔案型別
set statusline=%F%m%r%h%w%=\ [ft=%Y ]\ %{\"[fenc=\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}\ [ff=%{&ff}]\ [asc=%03.3b]\ [hex=%02.2B]\ [pos=%04l,%04v][%p%%]\ [len=%L]
" 設定 laststatus = 0 ,不顯式狀態行
" 設定 laststatus = 1 ,僅當視窗多於一個時,顯示狀態行
" 設定 laststatus = 2 ,總是顯式狀態行
set laststatus=2