如何配置 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
如果您配置了突出显示搜索目标,您甚至会看到所有出现或缺少它们的位置。