2009-06-09 4 views
0

내 질문의 제목은 sane tabs in emacs을 가리 킵니다.완전히 명쾌한 탭과 이맥스의 공백?

기본적으로 내가 원하는 것은 전 세계적으로 탭을 설정하고 들여 쓰기를 균일하게하는 것입니다. 이맥스는 TextMate 또는 BBEdit보다 훨씬 좋지만 들여 쓰기를 처리하는 방법은 간단하고 위력이 좋습니다. 내 용도로는 입니다. 이맥스에서 당신이 의 마이너 모드에 의해 시행 된 것과 다른 탭/스페이스 스킴을 사용한다면 당신은 문제가 있습니다.

내가 Enter 키를 누르면 에 들여 쓰기 된 다음 줄로 이동하고 싶습니다. 케이크를 먹어도 먹을 수 있다면 은 공백을 사용하여 들여 쓰는 것을 좋아합니다. 파일의 나머지 부분이 그럴 경우 그런 식으로 구성됩니다.

나는이 또한 시도했다 : 날이를 달성하는 데 도움이 할 수있는 모든 사용자에
doing tabs in emacs
force emacs to use tabs

감사합니다.

- 마이크

+0

내 질문에 언급 된 기사 및 답변의 다른 부분에서 여러 스 니펫을 결합해야 할 필요가있었습니다 이하. 나는 완벽한 해결 방법이 없기 때문에 단 하나의 대답만을 받아들이는 것이 불안하다. 물론 이것은 내 질문에 대한 답변보다 답을 더 많이 말할 수 있습니다. 모두에게 감사 드려요. 아무도 내가 무엇을 끝내 었는지 궁금하다면 여기에 게시 할 수 있습니다. 그냥 알려주세요. -Mike –

+0

당신을 위해 일한 것을 게시 할 수 있습니까? 나는 또한 케이크를 먹고 그것을 먹는 방법을 찾고있다 :). 감사. – sateesh

답변

4

아마도 (global-set-key (kbd "RET") 'newline-and-indent) 당신이 원하는 무엇인가? (즉, 사용할 수, 또는 당신은 단지 대신 Enter 키의 C-j 칠 수 있다면 또는 reindent-then-newline-and-indent.) 질문의이 부분을 위해

2

을 :

내 케이크를 가지고 내가 '너무 그것을 먹을 수 있다면 d는 나머지 부분이 인 경우 공백을 사용하여 들여 쓰기를 원합니다.

이 작업이 원하는 작업을 수행합니까?

(defun dtrt-indent() 
    (setq indent-tabs-mode 
     (save-excursion 
      (goto-char (point-min)) 
      (search-forward "\t" nil t)))) 
(add-hook 'text-mode-hook #'dtrt-indent) 
(add-hook 'c-mode-hook #'dtrt-indent) 
; etc for all modes you care about 

버퍼에 탭이있는 경우 탭을 사용하여 들여 쓰기하십시오. 탭이 없으면 공백을 사용하여 들여 쓰기를하십시오.

+0

FWIW는 추측하기보다는 eproject를 사용하여 다음과 같은 설정을 선언합니다. http://wiki.github.com/jrockway/eproject/project-attributes – jrockway

0

설명 된대로 설정을 할 경우 :

(setq indent-tabs-mode t) 
(setq-default indent-tabs-mode t) 
(setq tab-width 4) ;; 8 is way too many 
(setq default-tab-width 4) ;; 8 is way too many 
(global-set-key (kbd "RET") 'newline-and-indent) 

indent-tabs-mode 것은 (개별 모드에 의해 정의) 원하는 들여 쓰기를 만들기 위해 탭과 공백을 사용하여 들여 쓰기를 만들 수 이맥스 말할 것이다. 즉, TABS/SPACES 대신 TAB을 삽입하려면 tab-width을 들여 쓰기로 사용하도록 모드를 구성해야합니다.

예를 들어, 당신은 c-mode를 사용하는 경우, 공백을 삽입합니다 newline-and-indent 들여 쓰기 값으로 4를 사용하여 들여 쓰기 스타일 (C-c .로 선택)로 cc-mode을 선택합니다.

결론하려면 : 모드 들여 쓰기로 tab-width를 사용

  1. 확인
  2. 당신 모드가 indent-tabs-mode

(python-mode이 작업을 수행하는 것) overwride하지 않습니다 확인 있지만 나는 개인적으로 돈 당신의 여정에서 TABS 행운을 빕니다 :)

0

최고의 전략은 당신의 p를 설득하는 것입니다. 선택할 수있는 프로그래밍 모드는 들여 쓰기가 원하는 방식입니다. 이것은 일반적으로 매우 쉽습니다. 나는 들여 쓰기에 대해 까다로워하고 내 이맥은 항상 옳은 것을 수행한다 . (즉, "indent-region"도 항상 을 사용한다는 의미입니다. 매우 편리합니다.)