我有一个autocmd,每次退出并进入窗口时都会运行。除了当前窗口之外,它会关闭每个窗口的number
。
au WinEnter * setlocal number
au WinLeave * setlocal nonumber
但是,我不想在NERDTree窗口中输入行号。将g:NERDTreeShowLineNumbers
设置为0
也无济于事。只有当窗口不是NERDTree窗口时,有没有办法让WinEnter
上的自动命令运行?
答案 0 :(得分:1)
我最好的猜测:
au WinEnter * if !exists("b:NERDTreeType") | setlocal number | endif
au WinLeave * if !exists("b:NERDTreeType") | setlocal nonumber | endif
注意:我没有使用NerdTree,所以我没有测试任何这个。
答案 1 :(得分:0)
使用文件打开vim
时,以及在您打开和关闭NERDTree窗口时,以下操作均有效:
au FileType * if !(&ft ==? "nerdtree") | setlocal number | endif
au WinEnter * if !(&ft ==? "nerdtree") | setlocal number | endif
au WinLeave * if !(&ft ==? "nerdtree") | setlocal nonumber | endif
在CentOS Linux 7.6.1810上使用
进行了测试vim
7.4