
たとえば、それぞれ␣ (U+2423) や ⸤ (U+2E24) などの置換 Unicode 文字を使用して、No-Break スペース (U+00A0) と Narrow No-Break スペース (U+202F) を区別できるように、Vim で非標準のスペースを表示したいと思います。
調査した結果、私ができる最善の方法は、次のようにして、両方のノーブレーク スペース タイプに対して同じ置換文字を表示することでした。
:set list
:set listchars=tab:▸\ ,eol:¬,trail:\ ,nbsp:␣
したがって、listchars nbsp パラメータは、標準のノーブレーク スペースと狭いノーブレーク スペースを区別しません (ちなみに、適切に機能するには trail パラメータも必要です)。
これに対する回避策はありますか?
答え1
構文マッチングと を使用できますconceal
:
set conceallevel=1
syn match NBSP '\%xa0' conceal cchar=␣
syn match NarrowNBSP '\%u202F' conceal cchar=⸤
効果:
を使用することもできますset conceallevel=2
。
conceal
カーソルがある行には置換は表示されません。concealcursor
:
set concealcursor=n