デフォルトのステータスバーの形式は何ですか?

デフォルトのステータスバーの形式は何ですか?

vimステータス行を更新する方法を読みました。ここ。そして正常に更新できます。

しかし、デフォルトのvimステータス行の形式を維持し、ファイルサイズ、ファイルタイプなどの情報をさらに追加したいと思います。

Vimのデフォルトのステータスバーは次のとおりです。

   <file-name>                              line_num,col_num        %file

次のタスクをどのように実行できますか?

  1. ファイル名の後に情報を追加したい
  2. ステータスバーの現在の形式を表示します(: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%)

おすすめ記事