这是我的.vimrc:
set tabstop=2 softtabstop=0 shiftwidth=2 smarttab
set number
map <F5> :tabp<CR>
map <F6> :tabn<CR>
map <F7> :e %<.cpp<CR>
map <F8> :e %<.h<CR>
map <C-F7> :e %<.vs<CR>
map <C-F8> :e %<.fs<CR>
map <F9> :w<CR>:!./m<CR>
map <F10> :w<CR>:!./%<CR>
let &path.="/home/dirk/projects/dirk/common,/home/dirk/projects/dirk/sp33d,./proj/tmp,./shaders,"
au BufRead *.fs set ft=
au BufRead *.vs set ft=
" Show tabs in light color
hi GroupTabs ctermfg=lightgray
match GroupTabs /\t/
set listchars=tab:>-
set list
我的帖子是关于&#34;以浅色显示标签&#34;部分。当我用vim打开文件时,它会正确地从选项卡中显示灰色。
但是,我喜欢使用多个选项卡,因此当我使用:tabe命令或启动vim时使用-p参数打开额外文件时,选项卡的灰化仅适用于第一个选项卡,而不适用于其他选项卡
我尝试单独打开其他标签上的文件,然后就可以了。
是否有关于标签的内容我不知道?有没有办法让其他标签上的灰色工作?
我经常使用的文件是cpp,h,py,lua,html,css,...,它们都有这个问题,所以我猜它与文件类型特定的语法高亮无关?
感谢任何帮助。
答案 0 :(得分:4)
是否有关于我不知道的标签的内容?
至少有两件事:
有没有办法让其他标签上的灰色工作?
:help :match
的第一句话是:
Define a pattern to highlight in the current window.
表示您的:match
命令仅影响当前窗口,不会对其他窗口产生任何影响。由于:tabedit
和朋友创建新窗口,因此没有任何理由期望您的:match
也能在那里工作。
要使自定义匹配跨窗口工作,您需要在自动命令中使用:help matchadd()
:
augroup CustomMatches
autocmd!
autocmd winEnter,BufEnter * call clearmatches() | call matchadd('GroupTabs', '\t', 100)
augroup END
<强>可是... 强>
Vim已经为这些主要标签提供了一个突出显示组:
hi SpecialKey ctermfg=lightgray
所以首先不需要任何这些。