2015-01-31 3 views
2

내가 파일을 .clj 열 때마다, 나는 Emacs init.el 파일에서 어떻게 평가할 수 있습니까?

M-x cider-jack-in 

코드 파일에서 Clojure의 자동 완성 기능을 사용하려면 실행해야합니다.

Emacs를 시작할 때 자동으로 명령을 실행할 수 있습니까?

+0

나는 특정 문제에 익숙하지 않다, 그러나, 이맥스는 특정 모드가 활성화 될 때 기능을 활성화시키는 주요 수단으로 모드 - 후크를 사용합니다. 예를 들어'.clj'의 확장자를 가진 파일이'auto-mode-alist'에 의해'xyz-mode'라는 메이저 모드를 트리거하도록 정의된다면, 그 메이저 모드는'xyz- 모드 - 후크'; 귀하의 기능을 해당 후크에 부착 할 수 있습니다 (예 :'(add-hook 'xyz-mode-hook'사이더 - 잭 - 인)). 참고 :'add-hook'에는 append와 buffer-local이라는 두 개의 선택적 인수가 있습니다. – lawlist

답변

4

이 시도 :

(require 'cider) 
(defun maybe-cider-jack-in() 
    (unless (ignore-errors 
      (nrepl-current-connection-buffer)) 
    (cider-jack-in))) 

(add-hook 'clojure-mode-hook 'maybe-cider-jack-in) 
+0

이것은 명백하게 복잡해 보입니다. 어떤 일이 일어나는지 설명해 주시겠습니까? 그리고'.emacs' 파일에'.clj' 파일에'auto-mode-alist'를 추가하는 것이 더 좋을까요? – tripleee

+2

사실 아주 간단한 코드입니다. 이미 사이다가 없으면'cider-jack-in'을 호출합니다. 'auto-mode-alist'는'clojure-mode'를 호출하기위한 것일뿐, 이런 유형의 것들은 아닙니다. –

+0

설명해 주셔서 감사합니다. – tripleee

관련 문제