Ich habe gesehen , wie die Maus in Console Vim bei Stack Overflow vollständig deaktiviert wurde . Es klang genau so, wie ich es wollte, aber dort hing das Problem mit Cygwin zusammen, sodass der Titel eine falsche Bezeichnung war.
Ich möchte wissen, wie alle Mausinteraktionen in vim auf der Konsole vollständig deaktiviert werden können . Ich möchte nicht, dass das Scrollen, Auswählen, Klicken oder anderweitige Betrachten der Maus einen Effekt in vim hat.
Ich mag es, die Maus in der Konsole zu haben, nur nicht, wenn ich vim benutze. Ist das möglich?
Ich habe einen Laptop mit Ubuntu installiert und wenn ich tippe, beschließt die Touchpad-Maus gelegentlich, zufällig zwischen zufälligen Koordinaten auf dem Bildschirm zu klicken oder zu ziehen, selbst wenn ich mein Bestes versuche, das verdammte Ding nicht zu berühren. Dies hat zur Folge, dass ich ständig Code an den falschen Stellen eingebe und es wird sehr alt, weil es manchmal subtile irreversible Fehler in meinen Code einführt.
Ich konnte das Scrollen und die visuelle Auswahl mit den folgenden Befehlen in meinem entfernen .vimrc
, aber der Cursor wird beim Klicken immer noch verschoben.
" disable mouse interactions "
set mouse=nicr
map <ScrollWheelUp> <nop>
map <S-ScrollWheelUp> <nop>
map <C-ScrollWheelUp> <nop>
map <ScrollWheelDown> <nop>
map <S-ScrollWheelDown> <nop>
map <C-ScrollWheelDown> <nop>
map <ScrollWheelLeft> <nop>
map <S-ScrollWheelLeft> <nop>
map <C-ScrollWheelLeft> <nop>
map <ScrollWheelRight> <nop>
map <S-ScrollWheelRight> <nop>
map <C-ScrollWheelRight> <nop>
Was muss ich noch tun?
PS Ich habe es versucht set mouse=
, aber das scheint die visuelle Auswahl wieder zu aktivieren ...
set mouse=
Deaktiviert effektiv jede Mausinteraktion mit Vim , jedoch nicht mit Ihrem Terminalemulator. Sind Sie sicher, dass "Visual Select" Vims ist?/etc/vimrc
. Siehe meine Antwort hier: unix.stackexchange.com/a/506723/194822Antworten:
Sie sollten die folgenden zwei Zeilen am Ende von / etc / vim / vimrc hinzufügen:
quelle
ttymouse
, alle Websites erwähnten,mouse
aber esttymouse
war die, die mir fehlte. Vielen Dank !Dies könnte funktionieren, wenn Sie es am Ende Ihrer .vimrc setzen
set mouse=c
Es ist wahrscheinlich nicht Vim, der die Mauseingabe übernimmt, sondern Ihr Terminal-Emulator. Dies kann hilfreich sein, um die Mausunterstützung auf Ihrem Terminal zu deaktivieren .
quelle
c
und nicht ganz leer?Dies ist bestenfalls eine Teillösung, aber Sie können die Maus / das Touchpad global deaktivieren, während vim
xinput
in einem Shell-Skript ausgeführt wird:Und dann
Wenn Sie bereit sind, das Touchpad wieder zum Laufen zu bringen.
Verwenden Sie
xinput --list
diese Option , um die ID Ihres Zeigegeräts abzurufen.quelle
FocusGained
undFocusLost
autocommand kombinieren , obwohl es anscheinend schwierig ist, ein Terminal + Vim-Setup zu finden, in dem diese Ereignisse erkannt werden können.