【问题标题】:Vim configuration not working across tabs?Vim 配置不能跨标签工作?
【发布时间】:2017-10-22 07:56:34
【问题描述】:

这是我的 .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

我的帖子是关于“以浅色显示标签”部分的。当我用 vim 打开一个文件时,它会正确地使选项卡变灰。

但是,我喜欢使用多个选项卡,所以当我在启动 vim 时使用 :tabe 命令或 -p 参数打开额外文件时,选项卡的灰显仅适用于第一个选项卡,不适用于其他选项卡.

我尝试单独打开其他选项卡上的文件,然后它可以工作。

标签有什么我不知道的吗?有没有办法让其他选项卡上的灰色也起作用?

我平时处理的文件是cpp,h,py,lua,html,css,...,他们都有这个问题,所以我猜这与文件类型特定语法高亮无关?

感谢任何帮助。

【问题讨论】:

  • 这个问题本身并没有离题,但是你可能在vi.stackexchange.com获得更好的运气。
  • @BurhanKhalid,stackoverflow 上的“vim”标签比专用站点更活跃。
  • 仅供参考:gtgT 分别是 :tabnext:tabprev

标签: vim tabs


【解决方案1】:

标签有什么我不知道的吗?

至少有两件事:

  1. 它们不是“标签”而是“标签页”,
  2. 您的问题与标签页无关。

有没有办法让其他选项卡上的灰色也起作用?

: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

所以一开始就不需要这些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-16
    • 2020-09-05
    • 2013-01-11
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多