web-dev-qa-db-ja.com

vimで非表示の文字を表示する方法は?

タブやスペースなどの非表示の文字を入力中にのみ表示するようにvimを構成するにはどうすればよいですか?ファイルの書き込み時に、タブやスペースを「>」や「_」などの特殊文字に置き換えたくない。

51
dan0

次のコマンドを使用できます

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

空白ではないすべての文字を表示します。したがって、表示されないのはスペースだけです。

同様にマークするためにスペースが絶対に必要な場合は、ニース以下を試してみる必要があります。何かのようなもの

:%s/ /█/g

すべてのスペースをブロック文字に置き換えます。次に、書く前に元に戻す必要があります。あなたはあなたの書き込みコマンドを再マッピングすることができます

cmap :w :%s/█/ /g<CR>:w

ただの提案。私はそれを試していません。

62
Kris Harper

Vimの最新バージョンでもスペースを表示できます。 (vim 7.4.1689で確認済み)。

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»
12
wisbucky

私の場合、私は戦わなければなりませんでした nbsp

:set listchars=nbsp:☠,tab:▸␣
:set list

☠の代わりに␣を使用することもできます

上記のvim設定が「見えない奇妙な」スペースを強調表示し、さらにタブを強調表示する例です(赤色は末尾の空白vimプラグインを使用しているため)

Here

4
Andrey Arapov