协慌网

登录 贡献 社区

使 Vim 将所有空格显示为字符

我找不到让 Vim 将所有空白显示为字符的方法。我发现的只是关于制表符,尾随空格等。

答案

正如其他人所说,您可以使用

:set list

结合

:set listchars=...

显示不可见的字符。
现在,没有可用于显示空白的显式选项,但是在列表字符中,您可以设置一个字符以显示所有但空白。例如,我的看起来像这样

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

所以,现在,在您使用之后

:set list

那么,所有没有明确显示为其他内容的东西,实际上都是纯空白。

与往常一样,要了解listchars工作原理,请使用帮助。它提供了有关可以显示哪些字符(例如尾随空格)以及如何执行的重要信息:

:help listchars

向其中添加切换可能会有所帮助,以便您可以轻松地在编辑过程中查看更改(来源: VIM:set list!作为. vimrc 中的切换 ):

noremap <F5> :set list!<CR>
inoremap <F5> <C-o>:set list!<CR>
cnoremap <F5> <C-c>:set list!<CR>

7.4.710补丁开始,您现在可以使用 listchars 设置要显示在空间位置的字符!

:set listchars+=space:␣

因此,要将所有空白字符显示为字符,可以执行以下操作:

:set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
:set list

关于邮件列表的讨论: https : //groups.google.com/forum/?fromgroups#!topic/ vim_dev/ pjmW6wOZW_Q

:set list启用。

:set nolist禁用。