Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 输入缓冲区时的配色方案_Colors_Buffer_Vim - Fatal编程技术网

Colors 输入缓冲区时的配色方案

Colors 输入缓冲区时的配色方案,colors,buffer,vim,Colors,Buffer,Vim,我的中有这个。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

我的中有这个。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\u dark.vim”
当我打开任何其他页面时会打开我的浅色配色方案“color\u light.vim”

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

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

编辑

如果这是不可能的,当我在分割窗口中输入时,是否可以禁用上述代码?(为了让我自己选择colorscheme,所有拆分窗口都是如此)

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

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

编辑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 

如果编辑答案不会触发通知,请发表评论。我不明白你最后的评论是什么意思,请你再解释一下好吗?顺便提一下我将您的代码添加到第一个if中,它给出了一个错误:未定义变量:b:colors\u name谢谢Randy。我仍然收到一个错误:-(->在处理“*”的BufEnter自动命令时检测到错误:E15:无效表达式:winnr(“$”}==1在对
winnr()的调用中,您有一个
}
而不是
。不,我希望我有。我在评论中写错了,对不起。我在你的答案中复制了代码。错误仍然存在。你是否在自己的.vimrc中检查了它?