Vim 我可以只更改当前缓冲区中ColorColumn的颜色吗?

Vim 我可以只更改当前缓冲区中ColorColumn的颜色吗?,vim,Vim,在我的ftplugin/python.vim文件中,我有以下两行代码: setlocal colorcolumn=81 highlight ColorColumn guibg=#222222 这很好,但列的颜色是全局设置的。是否可以仅在当前缓冲区中设置它?不可以。但您可以创建一个解决方法:使用在BufEnter事件上运行的自动命令,并在那里检查您是否正在输入目标缓冲区,如果正在输入,则更改hi ColorColumn,如果未输入,则恢复值。请注意,在不同的窗口中不能有颜色不同的colorcol

在我的ftplugin/python.vim文件中,我有以下两行代码:

setlocal colorcolumn=81
highlight ColorColumn guibg=#222222

这很好,但列的颜色是全局设置的。是否可以仅在当前缓冲区中设置它?

不可以。但您可以创建一个解决方法:使用在BufEnter事件上运行的自动命令,并在那里检查您是否正在输入目标缓冲区,如果正在输入,则更改
hi ColorColumn
,如果未输入,则恢复值。请注意,在不同的窗口中不能有颜色不同的colorcolumns,因此此更改将重新激活所有colorcolumns,而不仅仅是当前窗口中显示的colorcolumns。

@Codemonkey在问题或单独的答案中会更好(如果vimrc公开托管在github/bitbucket上,则只需将特定链接提交给vimrc)。