Macos Vim光标线不显示’;t拆分之间自动命令的更改
我想更改vim中活动和非活动分割之间的光标线的颜色 所以我试过了Macos Vim光标线不显示’;t拆分之间自动命令的更改,macos,vim,Macos,Vim,我想更改vim中活动和非活动分割之间的光标线的颜色 所以我试过了 augroup CursorLine au! au VimEnter,WinEnter,BufWinEnter * highlight CursorLine ctermfg=black ctermbg=green au WinLeave * highlight CursorLine ctermfg=NONE ctermbg=red augroup END 然后我打开了vim,做了一个垂直分割:vsp文
augroup CursorLine
au!
au VimEnter,WinEnter,BufWinEnter * highlight CursorLine ctermfg=black ctermbg=green
au WinLeave * highlight CursorLine ctermfg=NONE ctermbg=red
augroup END
然后我打开了vim,做了一个垂直分割:vsp文件
,然后在两个分割之间切换,但是两个窗格仍然有绿色背景,不活动的窗格在离开时没有切换到红色
这些命令有什么问题?突出显示组的作用域是全局的。如果更改其中一个的颜色或格式,将更新所有引用(在下一个屏幕上重新绘制)。为了支持活动/非活动元素的不同高亮显示,您需要Vim对此提供明确的支持。对于状态行(以vs.highlight组的形式)确实存在这种情况,但对于游标行则不存在这种情况
在您的情况下,WinLeave
autocmd将立即由WinEnter
在下一个窗口执行,因此您尝试更改为红色的操作基本上被忽略
如果您想禁用非活动窗口的光标行,这是可能的,因为'cursorline'
选项是窗口本地选项。我的朋友让这很容易