Emacs Speaks Statistics: автоматическое закрытие фигурных скобок

Я использую очень хорошую модифицированную версию Emacs от Винсента Гуле с включенным ess, загруженную с здесь .

В моем файле .emacs я установил параметр skeleton-pair следующим образом

(setq skeleton-pair t)
(global-set-key (kbd "(") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "[") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "{") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "\"") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "\'") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "\`") 'skeleton-pair-insert-maybe)

Это работает для всех типов файлов, кроме R-скриптов, где не работает автозакрытие для фигурных скобок {} (остальное работает нормально).

В прошлом, когда я загружал каталог ess, распаковывал его и определял путь в моем .emacs, я использовал, чтобы обойти эту проблему, комментируя следующую строку:

(define-key map "{"          'ess-electric-brace)

в файле ess-mode.el по адресу lisp/. Теперь, когда я использую модифицированный дистрибутив, я сделал то же самое с файлом ess-mode.el в /Applications/Emacs.app/Contents/Resources/site-lisp/ess/, но это не сработает.

Поэтому кто-нибудь знает, как автоматически закрывать фигурные скобки в R-скриптах с помощью модифицированного Emacsдистрибутива с ess?.

Спасибо


person Javier    schedule 05.06.2016    source источник


Ответы (1)


Попробуйте поместить это в свой .emacs:

(define-key ess-mode-map (kbd "(") 'skeleton-pair-insert-maybe)
(define-key ess-mode-map (kbd "[") 'skeleton-pair-insert-maybe)
(define-key ess-mode-map (kbd "{") 'skeleton-pair-insert-maybe)
(define-key ess-mode-map (kbd "\"") 'skeleton-pair-insert-maybe)
(define-key ess-mode-map (kbd "\'") 'skeleton-pair-insert-maybe)
(define-key ess-mode-map (kbd "\`") 'skeleton-pair-insert-maybe)

Если это приводит к некоторым ошибкам, вам может потребоваться (require 'ess-mode) перед приведенными выше утверждениями.

person Brian Malehorn    schedule 06.06.2016