如何在Vim的NERDTree插件中禁用cursorline?及.vimrc配置方法
解决NERDTree中禁用cursorline的问题
一、临时禁用NERDTree的cursorline
如果只是想临时关掉当前打开的NERDTree窗口里的光标线,操作很简单:
- 先把光标切换到NERDTree窗口(比如用
<C-w>h或<C-w>l快捷键在窗口间跳转) - 输入命令
:set nocursorline并回车,当前NERDTree窗口的光标线就会立刻消失
不过这种方式是临时生效的,下次打开NERDTree还会恢复默认状态,下面来说永久生效的配置方法。
二、在.vimrc中永久配置禁用NERDTree的cursorline
要实现每次打开NERDTree自动禁用cursorline,我们可以借助Vim的自动命令(autocmd),针对NERDTree的专属窗口/缓冲区做局部设置,不会影响其他Vim窗口的cursorline状态。这里有两种可靠的配置方式:
方式一:匹配NERDTree的缓冲区名称
NERDTree的缓冲区名称通常是NERD_tree_*格式,我们可以基于这个模式配置:
autocmd BufEnter NERD_tree_* setlocal nocursorline
解释:BufEnter事件会在进入对应缓冲区时触发,setlocal确保这个设置只作用于当前NERDTree窗口,不会干扰其他编辑窗口。
方式二:匹配NERDTree的文件类型
部分版本的NERDTree会将自身窗口的文件类型标记为nerdtree,这种情况下可以用更直观的文件类型匹配:
autocmd FileType nerdtree setlocal nocursorline
这个命令会在打开filetype为nerdtree的窗口时,自动为其设置局部的nocursorline。
你可以根据自己的NERDTree版本选择其中一种,两种都配置也不会冲突。如果之后想恢复NERDTree的cursorline,只需要把命令里的nocursorline改成cursorline即可。
内容的提问来源于stack exchange,提问作者msr
相关产品推荐
相关产品推荐

