nano
有一个有用的语法突出显示功能,可以在以下两种情况下实际突出显示空白(制表符和空格):(1) 空白在最后一个字符或行开头与其之间没有非空白字符,并且 ( 2)该文件是源代码,而不是纯文本(如购物清单)。我如何在 中模仿这种行为vim
?
答案1
我使用set list
andset listchars
来.vimrc
显示tabs
和尾随white spaces
,您可以使用像这样的选择性文件类型的条件。
if !(&filetype == "txt")
set list " show special characters
set listchars=tab:→\ ,trail:·,nbsp:·
endif
因此,当这些字符存在时,我的文件看起来像这样。
function someFunc() { // no trailing spaces here
→ var a = "hola"; // 3 trailing spaces.···
alert(a); // this line starts with spaces instead of tab
// next a line with 4 white spaces and nothing else
····
// next a line with a couple tabs
→ →
}
注:·
不是.
编辑
因此,要回答您的评论,您可以通过将其添加到您的 中来做到这一点~/.vimrc
,请确保将其添加到颜色方案之后,否则它将被hi clear
删除。
if !(&filetype == "txt")
highlight WhiteSpaces ctermbg=green guibg=#55aa55
match WhiteSpaces /\s\+$/
endif
您可以根据需要更改突出显示颜色并优化正则表达式。/\s\+$/
将匹配尾随空格或制表符和仅包含这两个字符之一的行。如果您只想突出显示仅包含制表符和空格的行,请使用/^\s\+$/
。