줄 바꾸기 자동 들여 쓰기를 비활성화하는 방법?


36

나는 최근에 emacs를 24.4.1 버전으로 업그레이드했고 새로운 줄 들여 쓰기에 변화가 있었다. 내가 쳤을 때 enter커서가있는 지점에서 "맨손"줄 바꿈 문자 만 예상합니다. 특히 줄 중간에있는 경우 해당 줄은 분할되고 공백을 포함하여 문자가 삭제되지 않습니다. 불행히도 이것은 사실이 아닙니다.

예를 들면 다음과 같습니다.

a b

바로 뒤에 커서를 놓고 a누르면 다음 과 같은 결과 enter가 나타납니다.

a
b

그 동안

a
 b

나는 조금 봤는데 아마도 자동 들여 쓰기 때문일 것입니다. 어떻게 비활성화 할 수 있습니까? 중요한 경우 텍스트 또는 기본 모드에 대해 이야기하고 있습니다.


7
후손을 위해 이것에 추가 할 의견이 있습니다. M-x view-emacs-news(또는 C-h n)로 뉴스를 읽으면 많은 "최근 업그레이드"문제를 해결할 수 있습니다 . 접두사 arg를 추가하여 이전 버전의 뉴스를 읽을 수 있습니다. 뉴스를보고 "들여 쓰기"에 대한 isearch를 수행 할 때 첫 번째 결과는 Drew의 답변과 매우 유사합니다. 업그레이드와 관련된 모든 문제에 유용한 팁입니다.
nanny

답변:


49

비활성화 electric-indent-mode:

(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))

그것은 모든 Emacs 버전에서 작동합니다. Emacs 24.4에서는 사용자의 관점에 따라 이러한 성가심 또는 새로운 기능이 기본값으로 도입되었습니다.

참조 에 StackOverflow에 유사한 게시물을.

(단, 당신이 말처럼 들리 역을 , 당신은 것을 원하는 RET . 들여 쓰기하지만 들여 쓰기를받지 못하고있다 변한 것은 즉 RET( "입력") 지금 들여 쓰기를 자동으로, 당신은 칠 필요가 C-j그냥 줄 바꿈을 얻기 위해 . 어떤 들여 쓰기 그들은 교환 RET하고 C-j. 효과를 원하는 경우 RET. 들여 쓰기, 새로운 기본 동작은 당신이 원하는 무엇을 제공해야 어떤 경우에, 모드입니다 electric-indent-mode: 당신 등 또는 해제 할 수도 있습니다).


1

와 개행 문자를 삽입 할 가능성이있다 C-q C-j과 라인을 분할하는 3 개 명령이 있습니다 open-line C-o, split-line C-M-o그리고 newline RET, C-m당신이 사용된다. 다음에 말한대로 커서를 위치 a시키고를 누르면 C-o현재 줄이 커서 다음에 끊어지고 모든 문자가 다음 줄에있게됩니다. split-line은 내용 앞에 여분의 공백이 삽입되도록 열 위치를 유지합니다.

흠, 흥미롭고, C-M-o현재 줄도 끝에 공백 b이 생겨서 변경 후 및 커서 위치가 줄을 지어 있습니다.

기본 모드에서 C-j내 컴퓨터에 기대에 버퍼를 변경하고 C-j에 바인딩electric-newline-and-maybe-indent

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.