2

私はよく VIM を使って新聞やブログ サイトにコメントを書いています。

多くの場合、入力する最大文字数があります。

入力中に入力した文字 (空白を含む) を確認するカウンター (ステータスバーの pe) を作成するにはどうすればよいですか?

4

2 に答える 2

5

この'statusline'設定により、%{...}特別なアイテムを使用した式の評価が可能になります。

したがって、現在のバッファ内の文字数 (バイト数ではありません!) を返す式を考え出すことができれば、それをステータスラインに組み込んで問題を解決できます。

このコマンドはそれを行います:

:set statusline+=\ %{strwidth(join(getline(1,'$'),'\ '))}

CJK 文字 を含むテキストでは、文字数strwidth()ではなく表示セル数が返されるため、十分ではありません。全角文字が要件の一部である場合は、代わりにこの改善されたバージョンを使用してください。

:set statusline+=\ %{strlen(substitute(join(getline(1,'$'),'.'),'.','.','g'))}

ただし、式はバッファへの変更ごとに評価されることに注意してください。

を参照してください:h 'statusline'


日曜日の午後のボーナス – カーソル下の文字位置も 1 つの式にまとめることができます。気弱な人向けではありません:

:set statusline+=\ %{strlen(substitute(join(add(getline(1,line('.')-1),strpart(getline('.'),0,col('.')-1)),'.'),'.','.','g'))+1}
于 2013-07-28T10:00:20.747 に答える