只能在非1列上设置vim cursorcolumn吗?

只能在非1列上设置vim cursorcolumn吗?,vim,Vim,我不喜欢看到第1列的突出显示,这是显而易见的,而且与数字太接近您可以尝试在您的.vimrc中添加类似的内容: autocmd CursorMoved,CursorMovedI * call CS() function CS() if col(".") > 1 set cursorcolumn else set nocursorcolumn endif endfunction 有关更多信息,请阅读 :h autocmd :h Cu

我不喜欢看到第1列的突出显示,这是显而易见的,而且与数字太接近

您可以尝试在您的.vimrc中添加类似的内容:

autocmd  CursorMoved,CursorMovedI * call CS()

function CS()
    if col(".") > 1
        set cursorcolumn
    else
        set nocursorcolumn
    endif
endfunction
有关更多信息,请阅读

:h autocmd
:h CursorMoved
:h col()
:h cursorcolumn

编辑:在光标移动的帮助中,有

小心:这是经常触发的,不要 执行用户不期望的任何操作,或 那太慢了

所以我希望这是一个更好(更快)的版本

在函数设置任何内容之前,它会检查是否设置了游标列(
&cuc
)(请尝试
:echo&cuc
查看值)。因此,它仅在光标位置发生所需变化时设置,而不是每次光标移动时设置

:h expr选项

function CS()
    if &cuc == 0 && col(".") != 1
        set cuc
    elseif &cuc == 1 && col(".") == 1
        set nocuc
    endif
endfunction