我的工作区通常是一个非常大的带有 vim 的 xterm,分成六个或更多缓冲区。如果哪个是活动缓冲区更明显,那将非常有帮助。现在我正在使用行号的存在:
augroup BgHighlight
autocmd!
autocmd WinEnter * set number
autocmd WinLeave * set nonumber
augroup END
Run Code Online (Sandbox Code Playgroud)
但这意味着当我更改缓冲区时,我的代码向左或向右跳转,这很烦人。另外,即使在非活动缓冲区中,我也希望能够看到第 94 行。那么有没有办法改变活动缓冲区中行号的颜色?
fgb*_*fgb 33
按照您的模板,您可以改变不同的属性,例如 colorcolumn:
augroup BgHighlight
autocmd!
autocmd WinEnter * set colorcolumn=80
autocmd WinLeave * set colorcolumn=0
augroup END
Run Code Online (Sandbox Code Playgroud)
这将为当前窗口的第 80 列着色,同时在其他窗口中禁用它。它比设置/取消设置行号更不刺耳。
如果您习惯于突出显示当前行(设置 cul),则一个更不干扰的选项是:
augroup BgHighlight
autocmd!
autocmd WinEnter * set cul
autocmd WinLeave * set nocul
augroup END
Run Code Online (Sandbox Code Playgroud)
这一切都取决于您的使用情况以及您愿意忍受的情况。
rom*_*inl 16
状态行的颜色是了解哪个窗口处于活动状态的最常用方法。它在您的配色方案中使用以下两行定义:
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
Run Code Online (Sandbox Code Playgroud)
第一个用于当前窗口,第二个用于“非当前”窗口。
这是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
Run Code Online (Sandbox Code Playgroud)
小智 5
这就是我所做的:
augroup BgHighlight
autocmd!
autocmd WinEnter * set relativenumber
autocmd WinLeave * set norelativenumber
augroup END
Run Code Online (Sandbox Code Playgroud)
相对数只是用于计算命令重复量的辅助工具,它们在您未编辑的窗口中没有用处。
归档时间: |
|
查看次数: |
14599 次 |
最近记录: |