Emacs에서 문자를 개행 문자로 바꾸는 방법?


285

말 - 나는 문자 대체하기 위해 노력하고 있습니다 ;- 새로운 라인 사용과 replace-string및 / 또는 replace-regexp이맥스를.

다음 명령을 시도했습니다.

  • M-x replace-string RET ; RET \n

    이것은 ;2 개의 문자로 대체 됩니다 : \n.

  • M-x replace-regex RET ; RET \n

    다음과 같은 오류가 발생합니다 (미니 버퍼에 표시됨).

    대체 텍스트에서`\ '를 잘못 사용했습니다.

replace-string이 작업에 어떤 문제가 있습니까? 다른 방법이 있습니까?

감사.

답변:


427

M-x replace-string RET ; RET C-q C-j.

  • C-q대한 quoted-insert,

  • C-j 개행입니다.

건배!


3
Cq는 실제로 quote-insert다음 문자를 인용합니다.
Joe Casadonte

2
"quoted-insert"에서와 같이 실제로 "quote"가 아니라 "quoted"라고 생각합니다. 적어도 그것이 22.1 버전입니다.
Bryan Oakley

8
C-j리터럴 0x0a제어 코드이며 Ret따옴표 옆의 키이며 send 0x0d입니다. en.wikipedia.org/wiki/C0_and_C1_control_codes
Jonathan Arkell

2
VIM 사용자를위한 참고, 사용 C-j이맥스 동안 C-m정력 .
Alpha TAN

2
@JonathanArkell 그것이 작동 하는 방식에 대한 설명 이지만 그 이유는 아닙니다 . 편집기 내에서 Ret는 0x0a를 생성하므로 따옴표 삽입에서 0x0d를 생성해야하는 이유는 무엇입니까? 그건 말이되지 않습니다. (역사적인 이유로 내부 키보드 코드가 0x0d이기 때문입니다. 우리는 모든 곳에서 키 맵을 사용합니다. 왜 완벽한 위치에 있지 않습니까?)
vog

74

미니 버퍼에 줄 바꿈을 넣는 방법에는 네 가지가 있습니다.

  1. C-o

  2. C-q C-j

  3. C-q 12 (12는 개행의 8 진수 값입니다)

  4. C-x o메인 창에서로 개행을 종료 C-k한 다음 C-x o미니 버퍼 로 돌아가서C-y


10
언급 +1 C-o! 에 비해 키 스트로크가 하나 줄었습니다 C-q C-j. 전에는 그 사용을 생각하지 않았습니다.
itsjeyd

버전 4 주셔서 감사합니다! Co 및 Cq 리바운드가있는 경우 도움이됩니다.
Joachim W

고마워 왜 Co가 작동하고 Cq Cj가 작동하지 않는지 설명 할 수 있습니까?
Christian Madsen

C-o미니 버퍼에 줄 바꿈을 삽입 한 후 포인트가 이동하지 않으므로 대체 문자열에서 줄 바꿈 뒤에 무언가를 삽입하려면 오른쪽 화살표 키를 눌러야합니다.
Robin Green

내 버전의 Emacs 25.2.2에서는 C-o검색을 사용할 때 기본 창 C-q C-j에 줄 바꿈을 입력하고 미니 버퍼에는 줄 바꿈을 입력합니다. C-o쿼리와 함께 작동하지만 대체하십시오.
TC Proctor

25

항상 미니 버퍼에 잘라서 붙여 넣을 수 있다는 것을 잊지 마십시오.

따라서 버퍼에서 줄 바꿈 문자 (또는 문자열)를 복사 한 다음 대체 텍스트를 묻는 메시지가 표시되면 줄 바꿈 할 수 있습니다.


2
키 바인딩을 모르는 캐릭터에게는 정말 좋습니다.
Lei

아 아 ! 너무 간단합니다!
Jérémy Pouyet

8

더 명확하게 :

세미콜론 문자 (;)를 줄 바꿈으로 바꾸려면 다음과 같이하십시오.

  1. 변경할 텍스트가 포함 된 버퍼의 왼쪽 상단에서 커서를 찾습니다.
  2. mx replace-string을 입력하고 RETURN을 누르십시오.
  3. 미니 버퍼는 다음과 같이 표시됩니다 : Replace string (default ^->) :
  4. 바꾸려는 문자를 입력하십시오. 이 경우; 그리고 RETURN을 누르십시오
  5. 미니 버퍼는 다음과 같이 표시됩니다 : string; 와:
  6. 이제 Cq Cj를 실행하십시오.
  7. 세미콜론의 모든 인스턴스가 줄 바꿈으로 바뀝니다 (커서 위치에서 버퍼 끝까지).

원래의 설명보다 조금 더.


2

텍스트 모드로 전환

M-x text-mode

들여 쓰기 할 블록 강조

톱니 모양

C+M \

모든 모드로 다시 전환하십시오 ..


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