有没有办法在vim中突出显示仅当前行号(在左侧coloumn中),而不突出显示当前行的背景?理想情况下,我想将当前行号粗体。
答案 0 :(得分:32)
当&cursorline
选项处于有效状态时,有两个组确定突出显示的行:CursorLine
和CursorLineNR
。第一个用于突出显示整行,第二个用于行号。所以要实现你想要的,你必须
在CursorLine
和hi clear CursorLine
来电后,清除:colorscheme
:set background=
的突出显示。
hi clear CursorLine
augroup CLClear
autocmd! ColorScheme * hi clear CursorLine
augroup END
如果未在您的colorscheme中设置,请设置CursorLineNR
的突出显示:
hi CursorLineNR cterm=bold
augroup CLNRSet
autocmd! ColorScheme * hi CursorLineNR cterm=bold
augroup END
(最好检查它是否已经在colorscheme中设置,在这种情况下可能看起来更好)。
您可以在一个中加入两个自动命令。
最近在版本CursorLineNR
附近添加了 7.3.488
。
答案 1 :(得分:14)
你想看看
:se cursorline
甚至可能/也
:se cursorcolumn
答案 2 :(得分:10)
这对我有用:
highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE
set cursorline
在设置颜色方案后,我只是在我的.vimrc中使用它。当然你也可以设置一个特定的背景颜色,但是将它们全部设置为NONE只会突出显示行号(即使其更亮)。
我想你可以使用:hi CursorLine cterm=NONE
,但我只想确保一切都透明(包括gvim)。
使用CursorLineNR
,我可以设置突出显示数字的前景色和背景色。
我只是写这个,因为对我而言,它没有任何自动命令,它可能是大多数人所需要的。
答案 3 :(得分:5)
您可以将光标线设置为仅突出显示数字
'cursorlineopt' 'culopt' string (default: "number,line") local to window {not available when compiled without the +syntax feature} Comma separated list of settings for how 'cursorline' is displayed. Valid values: "line" Highlight the text line of the cursor with CursorLine hl-CursorLine. "screenline" Highlight only the screen line of the cursor with CursorLine hl-CursorLine. "number" Highlight the line number of the cursor with CursorLineNr hl-CursorLineNr.
并覆盖您的配色方案use autocmd
因此,以下工作原理:
set cursorline
set cursorlineopt=number
autocmd ColorScheme * highlight CursorLineNr cterm=bold term=bold gui=bold
答案 4 :(得分:1)
这对我来说突出显示行号,而不是其余部分:
highlight CursorLineNr cterm=NONE ctermbg=15 ctermfg=8 gui=NONE guibg=#ffffff guifg=#d70000
答案 5 :(得分:0)
highlight-groups的帮助未提及独有的“当前行数”语法组,因此官方答案可能是否。
如果有帮助,您可能需要查看突出显示整行的cursorline选项。