2011-02-14 29 views
37

是否有一种简单的方法在gvim中显示空白字符(如空格和制表符)?类似于Gedit,Geany,Komodo和其他GUI编辑器中实现的内容(当启用该选项时)空间显示为静音或灰色“。并标签为' - >'。在gvim中显示空白字符

+0

所有好的答案...但我不想要高亮显示空格;我已经看到了启用它的主题,说实话,它们都看起来相当丑陋(对我来说)。我会再做一些list/listchars选项的实验,看看我是否找不到有点接近我的想法 – memilanuk 2011-02-15 23:34:24

+0

与[Make Vim show all white spaces as a character](http://stackoverflow.com/q/1675688)。你可以在Vim中使用最近更新的补丁[这封邮件列表线程](https://groups.google.com/d/msg/vim_dev/dIQHjW1g92s/FPUU_-9N3wYJ)。 – glts 2013-11-10 12:47:29

回答

37

在Vim中检出listcharslist选项。一个例子使用此功能:

" part of ~/.vimrc 
" highlight tabs and trailing spaces 
set listchars=tab:>-,trail:- 
set list 
+1

到目前为止,我正在使用您的文章中的'set listchars ...'位和UncleZ文章中的noremap命令......他们似乎一起工作得很好。有没有办法让空格看起来像'--->'而不是'> - '跟踪' - '?我试图简单地替换这两个字符串,但是这样做效果不佳:/ – memilanuk 2011-02-15 23:45:41

29

你可以使用任何你希望的字符,如果您启用的Unicode我用第一

set encoding=utf-8 

一号线(放~/.vimrc):

set list listchars=tab:→\ ,trail:· 

了解更多有关此设置的信息http://vim.wikia.com/wiki/Highlight_unwanted_spaces

这些charact的颜色ers由您的配色方案控制。

6

这是我的一些关于空白的设置。

使用F11以显示空白字符或不之间切换:

noremap <F11> :set list!<CR> 

如何显示空格字符时list设置:黄色

set listchars=eol:$,tab:>-,trail:.,extends:>,precedes:<,nbsp:_ 

亮点特殊字符:

highlight SpecialKey term=standout ctermbg=yellow guibg=yellow 

突出显示冗余空间(空格在行尾,空格在标签之前或之后):

highlight RedundantSpaces term=standout ctermbg=Grey guibg=#ffddcc  
call matchadd('RedundantSpaces', '\(\s\+$\| \+\ze\t\|\t\zs \+\)\(\%#\)\@!') 

希望这些帮助!

0

这很适合我:

“结尾的空白检测 亮点WhitespaceEOL ctermbg =黄色guibg =黄色 比赛WhitespaceEOL/\ s + $/