Как включить поддержку мыши в vim?

9

В последнее время я много работаю на своем ноутбуке, и случайно нажимаю при наборе текста. Я знаю, что могу удалить set mouse=aв моем .vimrc, но иногда мне нравится использовать мышь.

Что я могу сделать, чтобы создать функцию переключения для поддержки мыши?

zephyrthenoble
источник
1
Почему бы не использовать mouse=nv, чтобы он не был включен в режиме вставки?
Патрик
Это может соответствовать моему варианту использования, но я действительно искал функцию, чтобы переключать его.
Зефиртенобль

Ответы:

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!могут быть использованы для их инвертирования.

crater2150
источник
7

Добавьте ниже код в .vimrcфайле.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
khangpa
источник