2013-05-08 3 views
1

Я пытаюсь создать привязку ключа для «Evaluate buffer to here here» в Emacs & ESS, который находится в меню ESS => ESS Eval. Большинство команд в этом меню перечислены в файлах справки (http://ess.r-project.org/Manual/ess.html, а также в вариантах Emacs), но этого конкретного нет. Если я устанавливаю следующий код в файл .emacs:Оценка буфера до курсора

(eval-after-load "ess-mode" '(define-key ess-mode-map (kbd "C-.") 'ess-eval-buffer-till-here)) 

Я получаю следующее сообщение при попытке использовать привязку: Symbol´s function definition is void: ess-eval-buffer-till-here. Очевидно, я призываю неправильное имя. Какое правильное имя для этой команды и как я могу видеть все команды команд для ESS?

ответ

2

Значит, это пункт меню? Введите C-hk, а затем выберите этот пункт.

(меню реализованы в виде раскладок, так что это просто нормальная describe-key функциональность.)

Вы также можете увидеть неинтерактивную форму вызова последней команды с CxESCESC или CxM-:. Легко определить имя команды, как только получится. (спасибо event_jr)

Для перечисления всех команд, большинство режимов будут перечислены все их комбинации клавиш в их строку документации, так что вы можете использовать C-чм для описания режимов используется в буфере.

Как может быть команды без привязки, вы можете также использовать M-хapropos-command перечислить их все (скорее всего, с указанием ^ess как шаблон, если он использует это в качестве последовательного пространства имен).

+0

Я расстегнул одно из ваших исправлений. Вы исправили это. Виноват. –

+0

Без проблем :) (Надеюсь, сайт, по крайней мере, предупредит вас, когда это произойдет?) – phils

+0

Ницца! Команда называется 'ess-eval-buffer-from-beg-to-here', поэтому' (eval-after-load "ess-mode" '(define-key ess-mode-map (kbd "C-.") 'ess-eval-buffer-from-beg-to-here)) работает. Благодаря! – Mikko

Смежные вопросы