如何仅为 VIM 中的特定分屏启用鼠标?

如何仅为 VIM 中的特定分屏启用鼠标?

我在 Windows 上将 NERDTree 与 mintty 和 cygwin 结合使用。有没有办法只为 NERDTree 分屏启用鼠标?

答案1

不。

mouse选项全局启用/禁用。

答案2

是的,有!我也有同样的疑问,因为虽然设置 mouse=a 可以启用 NERDTree 鼠标导航,但我不想失去我沉迷的简单“鼠标选择文本自动复制”功能。

基于@romainl 的想法,这里有一个 vimscript 片段,当使用文件打开 vim 时以及在 NERDTree 窗口之间切换时它都可以工作:

function NERDTreeMouse()
    if (&ft ==? "nerdtree")
        set mouse=a
    else
        set mouse=
    endif
endfunction

au FileType * :call NERDTreeMouse()
au WinEnter * :call NERDTreeMouse()
au WinLeave * :call NERDTreeMouse()

当然,别忘了启用NERDTreeMouseMode您喜欢的设置。将其设置为 2 将单击打开目录节点,双击打开文件节点。:help NERDTreeMouseMode了解更多信息。

let g:NERDTreeMouseMode=2

在 CentOS Linux 7.6.1810 上测试

  • vim7.4
  • NERDTree 5.0.0

... 但我希望它可以在 cygwin 上运行。如果不行,请评论。

相关内容