2009-07-28 73 views

回答

16

我用的是这样的:

set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗ 

需要Vim7,我不知道这是怎么好要告诉因为它使用了一些时髦的Unicode字符。使用一些古怪的字符是很好的,这样您就可以将选项卡与您自己输入的内容区分开来。

除了显示选项卡,显示在线条的末端空间,让您知道删除它们(他们是讨厌)是有用的。

+0

哇我几周前找了这个,但没有真正找到任何东西(我没有真正搜索过)......谢谢:) – 2009-07-28 10:28:00

5

使用listlistchars选项,这样的事情:

:set list 
:set listchars=tab:>- 
3

如果你做到以下几点:

:set list 

那么所有的TAB字符将显示为^I和所有尾随空格将显示为$

使用listchars,你可以控制使用什么字符任何空白。所以,

:set listchars=tab:... 

连同:set list使得作为...可见的标签。

2

此外,剪切和粘贴文本时左右,是非常有用的禁用制表和空格显示。你可以这样做

:set list! 

然后你重新启用它,重复命令。

7

许多其他人所说的和“listchars”和“列表”选项,而只是添加另一个有趣的选择:

if &expandtab == 0 
    execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\(\{'.&ts.'}\)\+"' 
else 
    execute 'syn match MixedIndentationError display "^\(\(\{' . &ts . '}\)*\)\@<=\t\+"' 
endif 
hi link MixedIndentationError Error 

这将着眼于打开“expandtab”(即您是否已经的当前设置有硬制表符或空格故作标签),并强调任何会看起来像正确缩进,但是是错误的形式。这些被设计为通过查看制表位来工作,所以用于缩进的制表符以及用于简单对齐的空格(不是“制表符”的倍数)不会突出显示为错误。

简单的选项可供选择:如果你只是想强调,在鲜红的错误文件中的任何选项卡(或任何你的错误颜色),你可以这样做:

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

格伦·杰克曼问到如何输入字符(我假设他的意思,如“»“字符)。

Brian Carper建议使用该字符的Unicode索引号的方法。由于这些与众不同的角色是digraphs [:help digraphs],您还可以使用CNTL-k快捷键,这通常更容易记住。

因此,例如,您可以通过键入CNTL-k和“>”两次来在插入模式下生成“»”。

相关问题