我找不到一种方法来让Vim将所有空格显示为一个字符。我找到的只是制表符、尾随空格等。


当前回答

我没有从现有的答案中找到我想要的。下面的代码将突出显示所有的尾部空格亮红色

highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()

其他回答

:set列表将以字符形式显示所有空白。除了一个空间之外,其他所有的东西看起来都会不同于它的正常状态,这意味着如果你仍然看到一个普通的旧空间,那真的是一个普通旧空间。:)

也可以高亮显示空间(用块替换空间):

:%s/ /█/g

(在写入之前,请将其撤消)

:se list
:se nolist

:se足够了,不需要:set。

我认为这里的其他答案更全面,但我想我会分享一个技巧,我通常使用它来区分制表符和空格:

:syntax on
:set syntax=whitespace

这些是空白编程语言的语法高亮显示规则-制表符以绿色显示,空格以红色显示。:)

可以与许多其他答案中提到的:set list组合使用,尽管选项卡将显示为^I,没有绿色的高亮,但空格将显示为红色。

我喜欢使用特殊字符来显示空白,这样更清晰。即使是切换地图也是快速检查的关键功能。

您可以在一个自2004年以来未更新的旧vim脚本中找到这些功能:

vim脚本/cream-showinvisibles@vim.org

多亏了项目vim脚本和vundle,你可以重新使用这个插件

vim脚本/cream-showinvisibles@github

更好的是,我的两分钱是添加一个可配置的快捷方式(而不是预定义的F4)

所以把这个添加到~/.vimrc中

Plugin 'albfan/cream-invisibles'

let g:creamInvisibleShortCut = "<F5>" "for my F4 goto next error

在vim上安装插件

:PluginInstall

就这样