Bearbeiten: Das Problem mit einer aktivierten Maus vim
scheint spezifisch zu sein gnome-terminal
(Version 3.4.1.1-1; ich verwende den Gnome 3-Fallback-Modus). Wenn ich laufe xterm
, ist die Mausunterstützung in vim
standardmäßig deaktiviert, und ich habe die Option, sie zu aktivieren ( :set mouse=a
was ich nie tue) und zu deaktivieren ( :set mouse=
). Im Gegensatz dazu , wenn ich laufe vim
in gnome-terminal
ist Maus - Unterstützung standardmäßig aktiviert und es ist nicht möglich , sie zu deaktivieren ( :set mouse=
hat keine Wirkung). Gibt es eine Lösung, bei der der Terminalemulator nicht geändert werden muss?
Ich möchte die Mausunterstützung in vollständig deaktivieren vim
. Ich verwende vim
Version 2: 7.3.547-3 bis gnome-terminal
Version 3.4.1.1-1. Die folgenden Befehle können .vimrc
die Mausunterstützung nicht deaktivieren , unabhängig davon, ob sie direkt in vim ausgeführt oder meiner Datei hinzugefügt wurden :
set mouse =
set mouse =""
Basierend auf dem Lesen des vim-Handbuchs und der Online-Posts sollten einer oder beide dieser Befehle funktionieren. Im vim-Handbuch heißt es insbesondere:
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: >
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
Ich benutze einen Laptop und jedes Mal, wenn meine Hand über das Trackpad streicht, bewegt sich meine Cursorposition in vim abrupt.
quelle
.vimrc
Datei bei Ihnen zu Hause das Problem lösen sollte (für mich). Es muss nichts enthalten, es kann sogar eine leere Datei sein./usr/share/
ist es eine schlechte Idee, eine Datei zu bearbeiten, unter der Ihr Paketmanager sie verwaltet. Wenn Sie einige der Optionendefaults.vim
beibehalten möchten, kopiere ich sie nach~/.vimrc
.Die Mausunterstützung ist standardmäßig deaktiviert, daher wird sie durch einen Vorgang aktiviert. Wahrscheinlich
set mouse=
scheitert Ihr System daran, dass es ausgeführt wird, bevor es eingeschaltet wird. Ich würde den Rest Ihres vimrc und möglicherweise das systemweite vimrc (/etc/vim/vimrc
ist ein Standardspeicherort) durchsehen .Als letzten Ausweg können Sie diesen wirklich hässlichen Hack ausführen, der dazu führt, dass der Befehl als eine der letzten Aktionen ausgeführt wird, bevor Sie die Kontrolle über den Editor erlangen.
quelle
/etc/vim/vimrc
Datei ist ziemlich nackt (runtime! debian.vim
und bedingtif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). Die/etc/vim/vimrc.local
Datei existiert nicht auf meinem System. Meine~/.vimrc
Datei enthält nur einige Zeilen, die ich manuell hinzugefügt habe. Einestrace
dervim
zeigt , dass es in den folgenden Orten für Konfigurationsdateien überprüft:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
( ENOENT ), und/home/user/.vimrc
. (Warum erhalte ich den ENOENT-Fehlerif
? Verhindert die Anweisung nicht den Versuch, diese nicht vorhandene Datei zu öffnen?):set mouse=
dies nicht auch, wenn ich direkt in vim eingebe, die Einstellungen aus den Konfigurationsdateien überschreiben? Warum sollte die direkte Ausführung dieser Anweisungvim
die Maussteuerung nicht deaktivieren?ENOENT
überprüfen muss, ob die Datei vorhanden ist. Dies erfolgt normalerweise durch einen Aufruf,stat
der zurückgibt,ENOENT
wenn die Datei nicht vorhanden ist.xterm
und hatte kein Problem mit der Mausaktivierung. Ich konnte das Problem durch Eingabe reproduziert:set mouse=a
invim
Laufen inxterm
(und umgekehrt durch Eingabe:set mouse=
). Irgendeine Idee, wie man dengnome-terminal
Fehler behebt? Soll ich einen neuen Thread starten? Vielen Dank.Ich bin auf meinem OS X "Terminal" auf einem Fedora Server 25-Host darauf gestoßen. Ich habe es in meinem .vimrc permanent damit gelöst mit:
Jetzt kann ich mit der Maus im Scrollback meines Terminals zu meinem vorherigen Bash-Verlauf blättern.
quelle
set ttymouse=
ein seltsames Verhalten für mich, z. B. verursachte das Verhalten von Pfeiltasten, Escape-Taste zu ändern.Ich hatte fast die gleichen Beschwerden wie Sie über die Empfindlichkeit des neueren Vim gegenüber der Maus. Using
set mouse=""
hat es auch nicht für mich getan.Ich habe
set mouse=c
(keine Anführungszeichen) am Ende meiner.vimrc
Datei. Das schien Vim davon abzuhalten, die Maus zu benutzen, außer wenn "PuTTY" verwendet wurde, um von meinem (ugh!) Windows-Rechner bei der Arbeit einzuspielen. Ich muss die Umschalt-Mitteltaste verwenden, um PuTTY einzufügen.30.03.2018 Bearbeiten: Ich habe jetzt begonnen,
:mouse=
auf einigen entfernten (CentOS 6.7) Instanzen von vim : (keine Anführungszeichen oder ähnliches ) zu verwenden, um unerwünschte Mauseffekte zu beseitigen .quelle
.vimrc
Datei hinzugefügt und versucht, sie interaktiv auszuführen (:set mouse=c
), aber in meinem Fall hatte keiner der beiden Auswirkungen.Fügen Sie dies zu Ihrem hinzu
.vimrc
:quelle
has("gui_running")
in einer Terminalumgebung 0 ist. Diese Antwort, anders als die anderen, nimmt zusätzlichen Aufwand nur die Maus in einer Terminal - Umgebung zu deaktivieren, die die Frage stellt, während es in gvim aktiviert bleibt.Auf debian stretch werden nach dem Laden
/etc/vim/vimrc
und einige zentrale Einstellungen geladen/etc/vim/vimrc.local
. Siehe/etc/vim/vimrc
:Diese Datei ist standardmäßig
/usr/share/vim/vim80/defaults.vim
. Jetzt eine zentrale Datei unter wechselnden/usr/share/...
heißtEinstellung
skip_defaults_vim
durch die obige Zeile uncommentig entfernt alle anderen von dieser Datei festgelegten Optionen. Um nur die unerwünschten Optionen zu entfernen, geben Sie Folgendes ein/etc/vimrc.local
:Dadurch wird das
defaults.vim
manuelle Laden und das automatische Laden deaktiviert, sodass Sie alle unerwünschten Einstellungen rückgängig machen können, ohne.vimrc
für jedes Benutzerkonto ein Konto erstellen zu müssen .quelle
Etwas im Zusammenhang mit der Frage, ob Sie Neovim (nvim) verwenden, sollten Sie
set mouse=
in Ihre~/.config/nvim/init.vim
Konfigurationsdatei einfügen .Wenn das Verzeichnis nicht existiert, erstellen Sie es mit
mkdir -p ~/.config/nvim/
quelle