Wie schalte ich die Mausunterstützung in vim um?


9

Ich habe in letzter Zeit viel an meinem Laptop gearbeitet und klicke versehentlich beim Tippen. Ich weiß, dass ich set mouse=ameine entfernen kann .vimrc, aber manchmal benutze ich gerne die Maus.

Was kann ich tun, um eine Umschaltfunktion zum Umschalten der Mausunterstützung zu erstellen?


1
Warum nicht verwenden mouse=nv, damit es im Einfügemodus nicht aktiviert wird?
Patrick

Dies mag zu meinem Anwendungsfall passen, aber ich habe wirklich nach einer Funktion gesucht, um sie umzuschalten.
Zephyrthenoble

Antworten:


10

Sie können den Wert einer Option abrufen, indem Sie ihren Namen mit einem &vorangestellten Wert verwenden . Eine einfache Umschaltfunktion für die mouseOption wäre also:

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

Dies schaltet zwischen "keine Maus" und "Maus in allen Modi" um. Sie können es über verwenden:call ToggleMouse()

PS: Verwenden Sie so etwas nicht für boolesche Optionen, da diese :set option!zum Invertieren verwendet werden können.


6

Fügen Sie den folgenden Code in die .vimrcDatei ein.

  map <F3> <ESC>:exec &mouse!=""? "set mouse=" : "set mouse=nv"<CR>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.