如何使制表看起来与vim中的空格不同(例如突出显示)。
这对Python中的代码很有用。
答案 0 :(得分:16)
我使用这样的东西:
set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗
需要Vim7,我不确定它会在浏览器中显示出来的程度,因为它使用了一些时髦的Unicode字符。使用一些古怪的角色是很好的,这样你就可以将标签与你自己输入的标签区分开来。
除了显示标签之外,在行尾显示空格非常有用,因此你知道要删除它们(它们很烦人)。
答案 1 :(得分:7)
许多其他人提到了'listchars'和'list'选项,但只是添加了另一个有趣的选择:
if &expandtab == 0
execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\( \{'.&ts.'}\)\+"'
else
execute 'syn match MixedIndentationError display "^\(\( \{' . &ts . '}\)*\)\@<=\t\+"'
endif
hi link MixedIndentationError Error
这将查看'expandtab'的当前设置(即,您是否有假装标签的硬标签或空格),并将突出显示外观的任何内容,如正确的缩进但是错误的形式。这些设计用于查看制表位,因此用于缩进的制表符后跟用于简单对齐的空格(不是'tabstop'的倍数)将不会突出显示为错误。
可以使用更简单的选项:如果您只想以鲜红色突出显示错误文件中的任何标签(或任何错误颜色),您可以这样做:
syn match TabShouldNotBeThereError display "\t"
hi link TabShouldNotBeThereError Error
或者如果您希望某行开头的空格被视为错误,您可以执行以下操作:
syn match SpacesUsedForIndentationError display "^ +"
hi link SpacesUsedForIndentationError Error
还有一些想法可以添加到混合...更多信息:
:help 'expandtab'
:help 'tabstop'
:help 'listchars'
:help 'list'
:help :exe
:help let-option
:help :hi-link
:help :syn-match
:help :syn-display
答案 2 :(得分:5)
使用list
和listchars
选项,如下所示:
:set list
:set listchars=tab:>-
答案 3 :(得分:3)
如果您执行以下操作:
:set list
然后所有TAB字符都显示为^I
,所有尾随空格将显示为$
。
使用listchars
,您可以控制用于任何空格的字符。所以,
:set listchars=tab:...
与:set list
一起使TAB显示为...
。
答案 4 :(得分:2)
此外,在剪切和粘贴文本时,禁用选项卡和空格的显示非常有用。你可以用
做到这一点:set list!
重复命令后再次启用它。
答案 5 :(得分:2)
glenn jackman 询问如何输入字符(我假设他的意思是“»”等字符。)
Brian Carper 建议使用该字符的Unicode索引号的方法。由于许多这些与众不同的角色都是有向图[:help digraphs],你也可以使用CNTL-k快捷键,这通常更容易记住。
因此,例如,您可以通过键入CNTL-k和“&gt;”在插入模式下生成“»”人物两次。