2008-11-27 7 views
10

Ich habe mich für die Verwendung von Carbon Emacs auf meinem Mac entschieden, und der einzige Stolperstein, auf den ich gestoßen bin, ist der nervige Scroll-Piepton, wenn man versucht, am Ende des Dokuments zu scrollen. Ich habe online nachgeschaut, aber ich kann nicht finden, was ich meinen .emacs hinzufügen sollte, damit es beim Scrollen nicht piepst. Ich möchte es nicht vollständig zum Schweigen bringen, nur beim Scrollen. Irgendwelche Ideen?Deaktiviere Carbon Emacs Scroll-Piepsen

Antwort

3

Sie müssen die ring-bell-function anpassen. Diese Seite kann Hinweise geben

:

http://www.emacswiki.org/emacs/AlarmBell

+0

Ach, das wird nicht funktionieren. Zum Beispiel hat die Next-Line-Funktion ein "Ding" fest in sie codiert. – ShreevatsaR

+0

Hmm. Könntest du nicht einfach die Next-Line-Funktion in deinen .emacs neu definieren? – Svante

+0

Sie müssen nicht nur die nächste Zeile und die vorherige Zeile neu definieren, sondern auch einen Bildlauf nach oben, einen Bildlauf nach unten und eine ganze Reihe von Funktionen. viele davon sind in "C-Quellcode" definiert und deren Quelle wird nicht mit Carbon Emacs ausgeliefert. Jemand korrigiert mich, wenn ich falsch liege. – ShreevatsaR

8
(setq visible-bell t) 

Dies macht Emacs statt Signalton blinken.

+2

Richtig, aber das wird alles zum Schweigen bringen, was das OP vermeiden wollte. Das ist es was ich benutze - die visuelle Glocke ist genauso hilfreich wie eine hörbare und stört die Musik nicht, wenn ich Kopfhörer benutze. Ich würde es sowieso niemandem empfehlen. – jmanning2k

7

Mit Hilfe der Hinweise aus den Emacs wiki AlarmBell page, das macht es für mich:

(defun my-bell-function() 
    (unless (memq this-command 
     '(isearch-abort abort-recursive-edit exit-minibuffer 
       keyboard-quit mwheel-scroll down up next-line previous-line 
       backward-char forward-char)) 
    (ding))) 
(setq ring-bell-function 'my-bell-function) 

Wenn Sie den Namen eines Befehls nicht wissen, drücken Sie C-h k dann die Taste/Aktion, die Sie mögen, um den Namen erhalten von.

0

Dies scheint den Trick zu tun:

(setq ring-bell-function nil) 
+3

Korrektur: 'nil' sollte durch' ignore' ersetzt werden. Dies wird * alle * Klingelton deaktivieren. –

3

Zwischen Stephen Hassard Antwort und Kipton Barros' Kommentar:

(setq ring-bell-function 'ignore) 

scheint die präzise zu sein, Arbeiten auf Emacs 24.x und Beantwortet die ursprüngliche Frage.