2008-11-27 7 views
10

Я изучаю использование Carbon Emacs для использования на моем Mac, и единственным камнем преткновения, с которым я столкнулся, является раздражающий звуковой сигнал прокрутки при попытке прокрутки за конец документа. Я смотрел онлайн, но я не могу найти то, что я должен добавить к моим .emacs, которые не будут звучать при прокрутке. Я не хочу полностью замолчать, просто прокручивая. Есть идеи?Disable Carbon Emacs scroll beep

ответ

3

Вам необходимо будет настроить ring-bell-function.

Эта страница может предоставить подсказки:

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

+0

Увы, это не сработает. Например, функция следующей строки имеет «жест», закодированную в нем. – ShreevatsaR 2008-11-27 19:30:12

+0

Хм. Не могли бы вы просто переопределить функцию следующей строки в своих .emacs? – Svante 2008-11-28 01:27:57

+0

Вам нужно будет переопределить не только следующую строку и предыдущую строку, но также прокрутку, прокрутку вниз и множество функций; многие из которых определены в «исходном коде C» и источник которых не поставляется с Carbon Emacs. Кто-то исправит меня, если я ошибаюсь. – ShreevatsaR 2008-11-28 07:18:25

8
(setq visible-bell t) 

Это делает Emacs флэш вместо гудка.

7

Используя подсказки от Emacs wiki AlarmBell page, это делает это для меня:

(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) 

Если вы не знаете имя команды, нажмите C-h k затем клавишу/действие, которое вы хотели бы получить имя из.

0

Это, кажется, сделать трюк:

(setq ring-bell-function nil) 
3

Между ответ Стивена Hassard и Kipton Баррос комментарий:

(setq ring-bell-function 'ignore) 

кажется самым кратким, работает на Emacs 24.x и отвечает на исходный вопрос.