2011-04-07 3 views
0

들여 쓰기와 관련하여 Emacs 구성에서 분명히 놓친 것이 있습니다.Emacs의 들여 쓰기 문제 (이 경우에는 Espresso)

$(function(){ 
    $.superbox.settings = { 
    closeTxt: "", 
    loadTxt: "", 
    [...] 

나는 M-q (즉 paredit-reindent-defun)를 할 경우 여기에 내가 무엇을 얻을 :

$(function(){ 
    $.superbox.settings = { 
         closeTxt: "", 
         loadTxt: "", 

가 어떻게 이맥스를 구성 할 수 있습니다 여기에

내가 들여 싶습니다 일부 자바 스크립트 코드 더 일반적인 들여 쓰기를 따라 가야합니까? 이 특별한 경우에 나는 하나의 들여 쓰기 (예를 들어 4 개의 공백)를보고 싶다. $.superbox 선언은 한 줄 위에있다 ...

P.S. 나는 emacs-starter-kit (https://github.com/technomancy/emacs-starter-kit)를 사용한다.

+0

왜이 질문을 downvoting합니까? 미래의 질문을 향상시키기 위해 적어도 의견을 제시하십시오! –

답변

2

paredit은 Lisp 편집 이외에는 적합하지 않습니다. 나는 그것을 사용하여 JavaScript 코드를 들여 씁니다. 대신 표준 JavaScript 들여 쓰기 defuns를 사용해보십시오. starter-kit-js.el에서 다음 줄을 제거하고 Emacs를 다시 시작한 다음 다시 시도하십시오.

(add-hook 'espresso-mode-hook 'esk-paredit-nonlisp) 
(eval-after-load 'espresso 
    '(progn (define-key espresso-mode-map "{" 'paredit-open-curly) 
      (define-key espresso-mode-map "}" 'paredit-close-curly-and-newline) 
      ;; fixes problem with pretty function font-lock 
      (define-key espresso-mode-map (kbd ",") 'self-insert-command) 
      (font-lock-add-keywords 
      'espresso-mode `(("\\(function *\\)(" 
          (0 (progn (compose-region (match-beginning 1) 
                 (match-end 1) "ƒ") 
             nil))))))) 
+0

그리고 표준 자바 스크립트 들여 쓰기가 무엇입니까? –

+0

paredit 바인딩을 제거하면 해당 항목이 자동으로 생성됩니다. 대부분의 모드는 모드에 익숙하지 않지만 indent-region (C-M- \) 등과 같은 것들은 항상 사용할 수 있습니다. 아마도 모드는 indent-defun 같은 것을 구현합니다. 자바 스크립트 버퍼에서 C-h m을 눌러 함수/키 바인딩으로 사용할 수있는 것을 볼 수 있습니다. –