2

我的.vimrc中有这个:

augroup filetype_colorscheme
        au BufEnter *
        \ if !exists('b:colors_name')
            \ | if &ft == "vim"
                \ | let b:colors_name = 'color_dark'
            \ | else
                \ | let b:colors_name = 'color_light'
            \ | endif
        \ | endif
        \ | exe 'colorscheme' b:colors_name
augroup END 

它的作用
当我打开一个.vim 页面时,它会打开我的深色方案“color_dark.vim”
,而当我打开任何其他页面时,它会打开我的浅色方案“color_light.vim”

这非常好,但在拆分窗口中不是很好。
每次当我单击带有文本文件的拆分窗口时,所有拆分窗口都会使用浅色方案(甚至是 .vim 文件)变成浅色。
当我在拆分窗口中切换到 vim 文件时,其他拆分窗口中的所有其他文件也会变暗。

是否可以在拆分窗口中保留每个文件类型他自己的颜色方案?
我必须在上面的代码中更改什么?

编辑
如果这是不可能的,当我进入拆分窗口时,是否可以禁用上述代码?(为了让我自己选择配色方案,所有拆分窗口都一样)

4

1 回答 1

2

配色方案将始终影响整个 vim 实例。每个拆分窗口不可能有不同的配色方案。

编辑 1:要在编辑中回答您的第二个问题,您可能可以添加&& winnr('$') == 1到第一个if以阻止在打开多个拆分窗口时发生这种情况。

编辑2:哎呀,上面的编辑不起作用,但是我认为应该将所有内容包装在另一个中if

编辑3:错过了几个管道。

augroup filetype_colorscheme
        au BufEnter *
        \ | if winnr('$') == 1
                \ if !exists('b:colors_name')
                    \ | if &ft == "vim"
                        \ | let b:colors_name = 'color_dark'
                    \ | else
                        \ | let b:colors_name = 'color_light'
                    \ | endif
                \ | endif
                \ | exe 'colorscheme' b:colors_name
        \ | endif
augroup END 
于 2012-04-19T09:19:43.077 回答