Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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
Macos Vim光标线不显示’;t拆分之间自动命令的更改_Macos_Vim - Fatal编程技术网

Macos Vim光标线不显示’;t拆分之间自动命令的更改

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文

我想更改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文件
,然后在两个分割之间切换,但是两个窗格仍然有绿色背景,不活动的窗格在离开时没有切换到红色

这些命令有什么问题?

突出显示组的作用域是全局的。如果更改其中一个的颜色或格式,将更新所有引用(在下一个屏幕上重新绘制)。为了支持活动/非活动元素的不同高亮显示,您需要Vim对此提供明确的支持。对于状态行(以vs.highlight组的形式)确实存在这种情况,但对于游标行则不存在这种情况

在您的情况下,
WinLeave
autocmd将立即由
WinEnter
在下一个窗口执行,因此您尝试更改为红色的操作基本上被忽略

如果您想禁用非活动窗口的光标行,这是可能的,因为
'cursorline'
选项是窗口本地选项。我的朋友让这很容易