我正在使用包含ess
的Vincent Goulet的非常好的Emacs修改版本,从here下载。
在我的.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)
<{1}} ess-mode.el
文件中的。现在我正在使用修改后的发行版,我对lisp/
处的ess-mode.el
文件做了相同的操作,但它不起作用。
因此,任何人都知道如何使用修改后的/Applications/Emacs.app/Contents/Resources/site-lisp/ess/
分布与Emacs
?自动关闭R脚本中的花括号。
谢谢
答案 0 :(得分: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)
。