vimscript:使用键映射添加鼠标单击功能

时间:2016-06-16 16:56:34

标签: vim

我在Arch linux上的xterms中使用vim。想要为后续命令范围自动设置标记我写了这个映射

map <LeftMouse> mp:let g:oc=g:nc<cr>:let g:nc=getpos('.')<cr>:call setpos("'o", g:oc)<cr>:call cursor(g:nc[1], g:nc[2])<cr>  

但现在鼠标不再将光标放在点击的位置。如何保持标准鼠标功能,并添加它而不是替换它?

2 个答案:

答案 0 :(得分:1)

似乎无法修改LeftMouse,但您可以使用LeftRelease实现它的效果。所以我的映射做了我想要的

nmap <LeftRelease> mp:let g:oc=g:nc<cr>:let g:nc=getpos('.')<cr>:call setpos("'o", g:oc)<cr>

,标准函数不变。

答案 1 :(得分:1)

您可以:set mouse=a使用视觉选择模式。 (这不是你想要的,但这是一个技巧)。 然后,单击文本,您将看到它已被选中。然后,你可以释放它。

这样的映射
 :map gv ma

将最近选择的最后一个文本设为标记a。

其他方式:

您可以按:set mouse=a而不是v,然后根据您的方便选择一个字母或一个单词,然后ma将其标记为标记a。 它的简短映射将是

:map vly ma