vimステータス行を更新する方法を読みました。ここ。そして正常に更新できます。
しかし、デフォルトのvimステータス行の形式を維持し、ファイルサイズ、ファイルタイプなどの情報をさらに追加したいと思います。
Vimのデフォルトのステータスバーは次のとおりです。
<file-name> line_num,col_num %file
次のタスクをどのように実行できますか?
- ファイル名の後に情報を追加したい
- ステータスバーの現在の形式を表示します(
:set statusline
何も表示しません)。
私は試した:
set statusline+=%y
ただし、これはステータスバー全体を上書きし、ファイルタイプ(%y
)のみを表示します。
どのようなヒントがありますか?
ベストアンサー1
@muruが言ったように、これは不可能に見えます。正確にstatusline
設定で指定できない操作を実行するレンダリングコードに設定されている場合は、デフォルトのステータスバーをシミュレートしますstatusline
。しかし、非常に近づくことは可能です。ruler
有効な場合、デフォルトのステータスバーの合理的な近似は次のとおりです。
:set statusline=%<%f\ %h%w%m%r%=%-14.(%l,%c%V%)\ %P
主な違いは、行番号と列番号の位置です。これは[-]
修正不可能なバッファにも表示されます。デフォルトのインターバルロジックをエミュレートすることが可能であれば、これを行う方法が見つかりませんでした。おそらくこれはあなたの目的に十分近いです。
:help statusline
このバージョンにはプレビューフラグはありませんが、これは試行されたシミュレーションのデフォルトのステータスバーと非常によく似ています。
私はその分割バージョンを直接使用して、定規を持つ.vimrc
一般的なvimステータス行のように見えるものの真ん中にSyntasticステータスライン情報を配置しました。
" start of default statusline
set statusline=%f\ %h%w%m%r\
" NOTE: preceding line has a trailing space character
" Syntastic statusline
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
" end of default statusline (with ruler)
set statusline+=%=%(%l,%c%V\ %=\ %P%)