vim ステータス表示 設定

はじめに

仕事場では、Linux系環境で作業している。
テストの準備のため、既存のシェルスクリプトを実行させたが、よくわからないエラーを表示し、停止した。
結局、シェルスクリプト文字コードと改行コードがWindows(Shift-JIS、CR+LF)だったためだとわかる。
teratermでサーバへ接続していることもあってか、文字コードも改行コードも正常に見えていた。

ファイル編集時(vi使用時)に気付けないものかと調べたら、設定方法がわかったので、忘備録として。

vimrcの設定

ホームディレクトリの.vimrcに以下を設定する。

set laststatus=2
set statusline=%f%m%=%l,%c\ %{'['.(&fenc!=''?&fenc:&enc).']\ ['.&fileformat.']'}

説明

set laststatus=2

これは、viでファイル編集時、コマンド行の上にステータス行が表示されるコマンド。

set statusline=%f%m%=%l,%c\ %{'['.(&fenc!=''?&fenc:&enc).']\ ['.&fileformat.']'}

これは、

を表示する。

基本は、「%」と1文字。
「%f」はファイル名(相対パス
みたいに。

ファイル名とファイル変更有無は左寄せ。
それ以外が右寄せになる。
「%=」を境に、左寄せと右寄せになる。

「\△(スペース)」は、スペースを1つ分空ける。

文字コードと改行コードの部分はおまじない?
よくわからない。