如何在 vim 中显示隐藏字符?

如何在 vim 中显示隐藏字符?

如何配置 vim 以仅在键入隐藏字符(如制表符或空格)时显示这些字符?我不希望在写入文件时将制表符和/或空格替换为特殊字符(如“>”或“_”)。

答案1

您可以使用命令

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

显示所有非空格字符。因此,空格是唯一不显示的内容。

如果你确实需要标记空格,你需要尝试一些不太好的方法。比如

:%s/ /█/g

将所有空格替换为块字符。然后您需要在写入之前撤消它。您可以重新映射写入命令

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

这只是建议。不过我还没试过。

答案2

较新版本的 vim 也可以显示空格。(已在 vim 7.4.1689 上确认)。

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

答案3

就我而言,我必须战斗nbsp

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

你也可以使用 ␣ 代替 ☠

下面是一个例子,上面的 vim 配置突出显示了“看不见的奇怪”空格,另外还突出显示了制表符(红色是因为我使用了 trailing-whitespace vim 插件)

这里

答案4

在 vim 中,只需输入搜索模式,然后使用 n 或 N 进行扫描。如果搜索失败,则无需 \r。您可以在几秒钟内得到答案。

/\r  or /\n

如果您配置了突出显示搜索目标,您甚至会看到所有出现或缺少它们的位置。

相关内容