2014-06-19 10 views
2

:org-babel을 적절하게 들여 쓰는 방법은 무엇입니까? 이 꼬임

#+BEGIN_SRC C :tangle no :noweb-ref begin 
int main() { 
    printf("Line 1\n"); 
#+END_SRC 

#+BEGIN_SRC C :tangle no :noweb-ref middle 
printf("Second\n"); 
#+END_SRC 

#+BEGIN_SRC C :tangle no :noweb-ref end 
} 
#+END_SRC 

#+BEGIN_SRC C :tangle ~/test.c :noweb no-export 
<<begin>> 
<<middle>> 
<<end>> 
#+END_SRC 

이 나타냅니다 :

int main() { 
    printf("Line 1\n"); 
printf("Second\n"); 
} 

내가 가진 조직-SRC-보존-들여 쓰기가 켜져 있지만이없는 것을 보존 할 수 없습니다. 코드 편집 창은 이전 소스 코드 블록의 파트가 보이지 않으면 올바르게 설정할 수 없습니다. 마지막으로, 새로운 소스 코드 블록을 시작할 때마다 들여 쓰기가 시작되어야하는 것을 파악하기 위해 이전 스 니펫 전체를 거치고 싶지 않습니다.

현재의 해킹은 새로운 버퍼에서 얽힌 파일을 열고 모두 선택하고 c-indent-line-or-region을 실행하는 것이지만 그보다 나은 점이 있기를 바랍니다.

조직 모드 버전 : 8.2.5h org-babel-post-tangle-hook에 접선 언급 한 바와 같이

+0

'indent-region' 또는 이와 유사한 것을 포스트 얽힘 고리라고 부를 수 있습니다. –

답변

0

는 길을 가야하는 것입니다. 나는 다음을 사용합니다 :

(defun tnez/src-cleanup() 
    (indent-region (point-min) (point-max))) 

(add-hook 'org-babel-post-tangle-hook 'tnez/src-cleanup)