如何在Vim中切换鼠标支持?


9

我最近在笔记本电脑上工作了很多,而在键入时不小心单击了鼠标。我知道我可以删除set mouse=a我的.vimrc,但有时我喜欢使用鼠标。

如何创建切换功能以切换鼠标支持?


1
为什么不使用mouse=nv,以便在插入模式下不启用它?
Patrick

这可能适合我的用例,但是我确实在寻找一个功能来切换它。
zephyrthenoble

Answers:


10

您可以通过在选项名称前加上&前缀来检索选项的值。因此,该mouse选项的简单切换功能为:

function! ToggleMouse()
    " check if mouse is enabled
    if &mouse == 'a'
        " disable mouse
        set mouse=
    else
        " enable mouse everywhere
        set mouse=a
    endif
endfunc

这将在“无鼠标”和“所有模式下的鼠标”之间切换。您可以通过以下方式使用:call ToggleMouse()

PS:对于布尔选项,请不要使用类似这样的东西,因为这些:set option!可以用于反转它们。


7

.vimrc文件中添加以下代码。

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.