Answers:
是的,使用listchars:
set list
set listchars=tab:>-
如果将这两行放在.vimrc中,则选项卡将显示为>开始位置以及-整个选项卡的其余部分。
(旁注:listchars也可以显示尾随空格trail:x(用x要用于尾随空格的字符替换),这也很有用。)
set listchars=tab:!·,trail:·IMHO,·它比a清晰得多-。您需要一个相当新的Vim版本才能正常工作(不确定哪个是我认为的7.3.x)...
▸因为它比略小>。目前,我通过标记eol看到尾随空白(尽管我可以尝试上面的方法)。我的设置是:set listchars=eol:¬,tab:▸\ 和
基本答案是:set list,这会使选项卡显示为^I。
但是,我建议不要超出此范围。只是:set list存在问题,因为它无法保持屏幕上的视觉对齐。例如:
%.o: %.cpp
^Ig++ -c $<
不好看,尤其是当你想到g的g++,以第一下出现p的cpp(假设tabstop=8)。
因此,我建议您在您的计算机中输入.vimrc类似的内容:set listchars=tab:␉· (要清楚,这是Unicode字符U + 2409用于水平制表符的符号,后跟U + 00B7 MIDDLE DOT。)
如中所述:help listchars,两个字符的设置tab:xy会导致保留视觉对齐:
tab:xy Two characters to be used to show a tab. The first char is used once. The second char is repeated to fill the space that the tab normally occupies. "tab:>-" will show a tab that takes four spaces as ">---". When omitted, a tab is show as ^I.
上面的示例在屏幕上显示为:
%.o: %.cpp
␉·······g++ -c $<
就个人而言,我全力以赴listchars:
:set listchars=eol:⏎,tab:␉·,trail:␠,nbsp:⎵
eol,我使用U + 23CE RETURN SYMBOLtrail,我使用U + 2420 SYMBOL FOR SPACEnbsp,我使用U + 23B5底部方形支架这些字符非常独特,以致它们很少出现在文档文本中。
要将这些特殊字符输入到您的中vimrc,请Ctrl-vu23CE在插入模式下输入,如中所述:help utf-8-typing。
set lcs=tab:├─
偶尔使用,只需使用以下搜索/命令即可突出显示文档中的所有标签:
/\t
要删除突出显示的内容,只需键入:noh代表“ :nohlsearch没有高亮度照明”的缩写。
" Highlight tabs as errors.
" https://vi.stackexchange.com/a/9353/3168
match Error /\t/

有关这些有用的突出显示命令的更多信息(包括与尾随空白结合并使其永久存在),请参见Vim Wiki。
:match Error /\t/独立于搜索寄存器和hlsearch(键入:match以清除它)来突出显示选项卡(或与此有关的任何其他模式)。
retab每次保存文件时将所有选项卡转换为空格。