GVim flackert dort, wo es normalerweise klingelt

4

Wenn ich versuche, (zum Beispiel) mit pageDown oder der Abwärtspfeiltaste über das "Ende" der Datei nach unten zu scrollen, gibt GVim traditionell einen Ton aus. Ich habe dies deaktiviert, aber eine andere ärgerliche Sache ist das Flackern (vermutlich, um den Benutzer zu "alarmieren"). Wie kann ich das ausschalten?

Ich verwende Ubuntu 11.04 mit installiertem Gnome-3 PPA. Ich habe eine Grafikkarte "ATI Technologies Inc M880G [Mobility Radeon HD 4200]".

Prost, John H.

John Hamelink
quelle

Antworten:

5

GVim gab traditionell ein Geräusch von sich. Ich habe dies deaktiviert, [...]

Sie haben entdeckt, was :help visualbellIhnen sagt. Die visualbellEinstellung ist nicht deaktivieren Sie die Glocke. Es ändert die Glocke so, dass anstelle der Ausgabe der belTerminfo-Sequenz (Termcap-Code bl) die flashTerminfo-Sequenz (Termcap-Code vb) ausgegeben wird .

Um die Glocke zu deaktivieren , müssen Sie tatsächlich eine dieser Terminfo-Sequenzen auf Null setzen, da vim keine Möglichkeit hat, anzugeben, dass Sie überhaupt keine "Glocke" von beiden Arten wollen, sondern nur eine Möglichkeit, zwischen zwei Arten von zu wechseln Glocke.

Mit dem :setBefehl können Sie die Funktionen eines Terminals in vim überschreiben . Die einstellbaren Variablen in vim, die die Terminalfunktionen überschreiben, werden nach den Termcap-Namen und nicht nach den Terminfo-Namen benannt, und vim hat keine t_blVariable. Sie müssen also die flashFunktion mit der nach ihrem Termcap-Code benannten Variablen auf null setzen, da die Funktion vbnicht auf null gesetzt werden kann bel, und auch diese als die von Ihnen verwendete Glocke auswählen.

:set visualbell t_vb=
JdeBP
quelle
Das funktioniert, aber nein, wenn ich es in mein vimrc stecke? Wie bringe ich es mit meinem vimrc zum Laufen?
John Hamelink
1
Auch hier :help visualbellhätte ich dir die Antwort auf diese Frage gegeben. Sie benutzen .gvimrc.
JdeBP
Ich habe absichtlich versucht, .gvimrc zu umgehen. Ich fand die Antwort, indem ich Ihre anpasste und mit etwas verschmolz, das ich im Internet gefunden hatte. Danke :)
John Hamelink
1

Ok, also danke an JdeBP für seine Antwort, die beim Einfügen in GVIM zur Laufzeit großartig funktioniert hat, aber nicht beim Einfügen in die .vimrc. Ich habe den Weg hierher gefunden . Die Antwort ist, dies in deine .vimrc zu schreiben:

" - Stop the bell ringing all the time when you do something dumb
" - or unnecessary.
set visualbell t_vb=
au GuiEnter * set visualbell t_vb=
John Hamelink
quelle
0

Es hört sich so an, als ob Sie die Funktion "Visuelle Glocke" von vim aktiviert haben, die den Benutzer jedes Mal, wenn die Glocke traditionell ertönt (wie Sie vermutet haben), mit einem Blitz alarmiert.

Sie können es für die aktuelle Sitzung deaktivieren, indem Sie Folgendes eingeben:

:set novb

oder dauerhaft deaktivieren Sie es, indem Sie die Zeile set novbin Ihrem hinzufügen .vimrc.

davidg
quelle