2

Я пытаюсь сбросить привязку для "Cx Cc". В частности, я хочу привязать его к функции, которая спрашивает меня, действительно ли я хочу бросить (я просто слишком толстый палец слишком сильно). Я делал это раньше под Linux без проблем. Под Mac OS X, когда я оцениваю выражение

(global-unset-key “\C-x\C-c”)

Я получил:

eval-buffer: значение символа в качестве переменной равно void: «C-xC-c»

Так почему же это пустота? Команда завершает работу Emacs, поэтому она не может быть void . Я не должен ссылаться на "Cx Cc" правильно. Но каков правильный путь?

Я получаю ту же проблему при использовании global-set-key для привязки последовательности команд к новой функции.

Я использую GNU Emacs 23.0.0 от MacPorts и Mac OS X 10.5 (Leopard).

3 ответа3

5

Emacs имеет конфигурацию для того, что вы просили, и не требует прикосновения к привязке Cx Cc.

Просто добавьте в ваш конфиг одно из следующих:

(setq confirm-kill-emacs 'y-or-n-p)

(setq confirm-kill-emacs 'yes-or-no-p)

Первый из них попросит вас ввести один символ y/n для подтверждения, а второй - полный ответ да / нет.

4

Почему-то вы используете умные цитаты.

использование

(global-unset-key "\C-x\C-c")  ;; use this

вместо

(global-unset-key “\C-x\C-c”)  ;; Not this one!
-2

Это только начало, вот несколько релевантная страница http://www.delorie.com/gnu/docs/emacs/emacs_496.html , но, похоже, вам нужно переопределить привязку, а не удалить ее. Или просто всегда иметь модифицированный файл, таким образом он будет спрашивать перед выходом (и вы можете автоматизировать это в ваших .emacs или ~/.emacs.d/init.el)

http://www.delorie.com/gnu/docs/emacs/emacs_502.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .