2016-06-05 13 views
0

Ich benutze die sehr schöne modifizierte Version von Emacs, von Vincent Goulet, mit ess enthalten, downloaded von here.Emacs Spricht Statistiken: auto-close geschweifte Klammern

In meiner .emacs Datei habe ich die skeleton-pair Option wie diese

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

Diese für alle Arten von Dateien funktioniert abgesehen von R-Skripte, wo die für geschweiften Klammern automatisch schließenden {} nicht (die übrigen Arbeiten funktioniert fein).

In der Vergangenheit, als ich das ess Verzeichnis zum Download verwendet, entpacken und definiere verwendet, um den Weg in meinem .emacs ich kommentieren Sie die folgende Zeile, um dieses Problem zu erhalten:

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

in der ess-mode.el Datei um lisp/. Nun, da ich die modifizierte Distribution verwende, habe ich das gleiche mit der ess-mode.el Datei unter /Applications/Emacs.app/Contents/Resources/site-lisp/ess/ gemacht, aber es wird nicht funktionieren.

Daher weiß jemand, wie geschweifte Klammern automatisch in R-Skripts mit der modifizierten Emacs-Verteilung mit ess?

Dank

Antwort

1

Versuchen Sie dies in Ihrem .emacs setzen:

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

Wenn das einige Fehler gibt, sie zu (require 'ess-mode) vor den obigen Ausführungen benötigen.