Vimでset list
およびset listchars
オプションを使用しています。 set listchars
をカスタマイズして、末尾のスペースなどを表示しますが、タブは表示しません。特定の種類の空白を表示しないように指定することはできますか?
私はこれを試しました:
set listchars=tab:,trail:·,extends:>,precedes:<,nbsp:%
しかし、.vimrc
をロードするときに構文エラーが発生しました。
これは技術的には不可能ですが、タブに表示する文字として、特殊なUnicode空白文字(通常のスペース文字ではない)をだまして入力できることを発見しました。これはまだvimのhl-NonText
ハイライトカラーを使用していますが、目立たないことは確かです。
言い換えれば、これ(または同様のこと)を行います:
set listchars=tab: ,trail:·,extends:>,precedes:<,nbsp:%
tab:
の後の2文字は、not正則スペース文字です + 2002 です。あなたはvim自体でそれらを入力することができます Ctrl-Vu22 (挿入モードの場合)。
これまでのところ、厄介な副作用には気づいていません。
残念ながら、それは不可能です。オンまたはオフにできるのは:set list
のみであり、'listchars'
で定義していない要素については、デフォルトが使用されます。
いくつかの副作用(ソフトラッピングに影響するなど)があるため、常に:set list
で操作することはお勧めしません。
末尾の空白を強調表示することだけが心配な場合は、他の方法でこれを行うプラグインがあります。実際、私はそのために ShowTrailingWhitespaceプラグイン を作成しました。このページには代替案へのリンクがあります。