## 鼠标支持
```vim
if has('mouse')
  if has('gui_running') || (&term =~ 'xterm' && !has('mac'))
    set mouse=a
  else
    set mouse=nvi
  endif
endif

当vim有鼠标支持,并且满足以下任一条件的时候,启动完全的鼠标支持:

  • 运行图形界面
  • 终端是xterm兼容,并且不是mac(mac声称自己是xterm,但不完全相同)

完全的鼠标支持(mouse=a):鼠标拖拉就可以在vim里使用可视化模式选择内容(只能在vim里使用)。按下shift键时,窗口系统接管鼠标事件,用户可以使用鼠标赋值vim窗口里的内容给其他程序使用。也就是说,直接拖拉只能在vim中使用,使用shift键加拖拉可以用于其他程序。

不完全的鼠标支持(mouse=nvi):只能在正常模式n,可视化模式v,插入模式i下使用鼠标。按下:进入命令行模式时,vim不响应鼠标事件。也就是说,先键入:进入命令行模式,就可以使用鼠标复制vim窗口里的内容到其他应用程序。


tags: vim