如何将 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)
只是一个建议。不过我没试过。
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 插件)