나는 최근에 emacs를 24.4.1 버전으로 업그레이드했고 새로운 줄 들여 쓰기에 변화가 있었다. 내가 쳤을 때 enter커서가있는 지점에서 “맨손”줄 바꿈 문자 만 예상합니다. 특히 줄 중간에있는 경우 해당 줄은 분할되고 공백을 포함하여 문자가 삭제되지 않습니다. 불행히도 이것은 사실이 아닙니다.
예를 들면 다음과 같습니다.
a b
바로 뒤에 커서를 놓고 a
누르면 다음 과 같은 결과 enter가 나타납니다.
a
b
그 동안
a
b
나는 조금 봤는데 아마도 자동 들여 쓰기 때문일 것입니다. 어떻게 비활성화 할 수 있습니까? 중요한 경우 텍스트 또는 기본 모드에 대해 이야기하고 있습니다.
답변
비활성화 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
: 당신 등 또는 해제 할 수도 있습니다).
답변
와 개행 문자를 삽입 할 가능성이있다 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