Vim:使用 NERDTree 光标线而不影响其他窗口中的光标线?

Vim:使用 NERDTree 光标线而不影响其他窗口中的光标线?

我想让我的 NERD_Tree 窗口更易于阅读,这个'NERDTreeHighlightCursorline'选项可以轻松实现这一点。不过,我目前有一个我喜欢的设置,它允许我突出显示光标行号,而无需突出显示整行:

set cursorline                " turn on cursorline
highlight clear CursorLine    " highlight line-number only

虽然该'cursorline'选项是每个窗口的本地选项,但突出显示是全局的。我能想到的唯一解决方法是添加一些自动命令,以便在我进入/离开 NERDTree 窗口时添加/清除突出显示:

augroup NerdCursor
  autocmd!
  autocmd BufEnter NERD_tree_* hi CursorLine gui=underline
  autocmd BufLeave NERD_tree_* highlight clear CursorLine
  autocmd BufAdd * highlight clear CursorLine
augroup END

下划线显示在所有窗口中,但如果这是唯一的方法,我可以忍受。是吗?

答案1

由于:highlight定义是全局的,并且您不能在不模拟的情况下使用另一个高亮组光标线功能,我看不出还有更优雅的解决方案。您的一组:autocmds 也是我解决问题的方法。

相关内容