Answers:
在模板之后,您可以更改不同的属性,例如colorcolumn:
augroup BgHighlight
autocmd!
autocmd WinEnter * set colorcolumn=80
autocmd WinLeave * set colorcolumn=0
augroup END
这将为当前窗口的第80列着色,而在其他窗口上将其禁用。它比设置/取消设置行号的震动少一些。
如果习惯于突出显示当前行(set cul),那么一个更不那么麻烦的选择是:
augroup BgHighlight
autocmd!
autocmd WinEnter * set cul
autocmd WinLeave * set nocul
augroup END
这一切都取决于您的用法和您愿意忍受的。
状态线的颜色是了解哪个窗口处于活动状态的最常用方法。这是在您的colorcheme中用以下两行定义的:
hi StatusLine ctermfg=15 guifg=#ffffff ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold
hi StatusLineNC ctermfg=249 guifg=#b2b2b2 ctermbg=237 guibg=#3a3a3a cterm=none gui=none
第一个用于当前窗口,第二个用于“非当前”窗口。
这是xoria256的摘录,您应该将颜色适应您的配色方案。
但是您可以尝试这样的操作(请注意,第二行中的颜色是完全随机的):
augroup NrHighlight
autocmd!
autocmd WinEnter * hi LineNr ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212
autocmd WinLeave * hi LineNr ctermfg=274 guifg=#e9e9e9 ctermbg=133 guibg=#212121
augroup END
hi StatusLine...
和hi StatusLineNC...
魅力一样!
另请参阅我的使不活动的Windows变暗的插件:https : //github.com/blueyed/vim-diminactive
我喜欢隐藏不活动窗口的光标线
augroup CursorLineOnlyInActiveWindow
autocmd!
autocmd VimEnter,WinEnter,BufWinEnter * setlocal cursorline
autocmd WinLeave * setlocal nocursorline
augroup END
(感谢https://codeyarns.com/2013/02/07/how-to-show-cursorline-only-in-active-window-of-vim/)