我找不到一种方法来让Vim将所有空格显示为一个字符。我找到的只是制表符、尾随空格等。
当前回答
从补丁7.4.710开始,您现在可以使用listchars设置一个字符来代替空格!
:set listchars+=space:␣
因此,要将所有空白字符显示为字符,可以执行以下操作:
:set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
:set list
完成后,要隐藏不可见的字符,请执行以下操作:
:set nolist
关于邮件列表的讨论:https://groups.google.com/forum/?fromgroups#!主题/vim_dev/pjmW6wOZW_Q
其他回答
我认为这里的其他答案更全面,但我想我会分享一个技巧,我通常使用它来区分制表符和空格:
:syntax on
:set syntax=whitespace
这些是空白编程语言的语法高亮显示规则-制表符以绿色显示,空格以红色显示。:)
可以与许多其他答案中提到的:set list组合使用,尽管选项卡将显示为^I,没有绿色的高亮,但空格将显示为红色。
我用这个
/\s
:set hlsearch
以突出显示空白。它搜索所有空白,然后启用高亮显示,使其突出显示。但是,它不打印特殊字符。
:set列表将以字符形式显示所有空白。除了一个空间之外,其他所有的东西看起来都会不同于它的正常状态,这意味着如果你仍然看到一个普通的旧空间,那真的是一个普通旧空间。:)
我没有从现有的答案中找到我想要的。下面的代码将突出显示所有的尾部空格亮红色
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 list
真正看到一条线的结构。您将显式地看到制表符和换行符。当你看到空白时,它真的是空白。