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

dan*_*an0 87 vim

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

Kri*_*per 93

你可以使用命令

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list
Run Code Online (Sandbox Code Playgroud)

显示所有不是空格的字符。所以空间是唯一没有出现的东西。

如果您绝对还需要标记空格,则需要尝试一些不太好的东西。就像是

:%s/ /?/g
Run Code Online (Sandbox Code Playgroud)

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

cmap :w :%s/?/ /g<CR>:w
Run Code Online (Sandbox Code Playgroud)

只是一个建议。不过我没试过。

  • 使用`space:␣` 对我来说效果很好:`:set listchars=eol:$,tab:&gt;-,trail:~,space:␣` (3认同)

wis*_*cky 36

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

:set list
:set listchars=tab:?\ ,space:·,nbsp:?,trail:•,eol:¶,precedes:«,extends:»
Run Code Online (Sandbox Code Playgroud)


小智 9

在我的情况下,我不得不打nbsp

:set listchars=nbsp:?,tab:??
:set list
Run Code Online (Sandbox Code Playgroud)

您还可以使用 ? 代替 ?

这是一个示例,上面的 vim 配置突出显示了“不可见的奇怪”空格,另外还突出显示了制表符(红色,因为我使用的是尾随空白 vim 插件)

这里