如何在vim中突出显示制表符和空格

3

我希望强调制表符和空格。在sublime text中,我激活了一个"draw_white_space": "all"选项。之后所有的制表符和空格都被突出显示。

enter image description here

我想在vim中激活相同的选项,但是我尝试过的所有方法都没有成功。

我尝试设置以下选项:

set listchars=tab:--
set list

如何激活它,以及如何使高亮的制表符和空格成为与上图相同的符号?


1
你的选项卡高亮应该(大多数情况下)按照你的意愿工作。有什么问题吗?如果它不够漂亮,你可以使用mdash字符或一些Unicode绘图字符来代替破折号。对于空格,不幸的是,Vim还没有内置选项(但我认为有一个补丁可用)。 - Ben
2个回答

5
如icwnd所说,使用:
set list
set listchars=tab:▸·

然而,您可能会发现仍然无法看到这些字符,因为它们与背景颜色相同。添加以下内容将更改这些字符的颜色。
highlight NonText guifg=#4a4a59
highlight SpecialKey guifg=#4a4a59

正如Ben提到的那样,这对空格无效。


编辑

现在你可以对空格做同样的操作,参见https://dev59.com/DXI-5IYBdhLWcg3wxruQ#29787362


4

有一个名为spacehi的vim插件可以用标签实现此功能。

下载spacehi.vim文件,将其复制到您的~/.vim/plugin/文件夹中,重新启动vim并使用F3来激活/停用。

如果您不想使用插件,可以使用以下方法:

set list
set listchars=tab:--,trail:.,eol:¬,extends:>,precedes:<

如果想要更好的缩进效果,可以参考vim-indent-guides


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接