모든 줄의 처음 몇 n자를 삭제하는 방법은 무엇입니까?


답변:


28

훨씬 더 쉽습니다! 다시 직사각형 명령을 사용하십시오 . 삭제하려는 사각형의 한 모서리로 이동하고를 눌러 C-SPC표시를 설정하십시오. 사각형의 다른 모서리로 이동하고 C-x r d( delete-rectangle)를 누릅니다 . 예를 들어, 행동하려는 첫 번째 줄로 이동 C-a하거나 또는 home을 눌러 줄의 시작으로 이동하고 마지막으로 줄 을 이동 한 다음 오른쪽 하단으로 이동 한 다음 삭제합니다.C-u number C-fC-x r d

마지막 줄에 원하는 문자 수보다 적은 경우 왼쪽 하단과 오른쪽 상단을 대신 사용하는 것이 더 편리 할 수 ​​있습니다. 또는 정크 문자를 삽입 할 수 있습니다 (첫 번째 행과 마지막 행이 모두 더 짧은 경우에 유용합니다).

C-x r k직사각형을 죽이는 데 사용할 수 있습니다. 이 직사각형 C-x r y을 나중에 잡아 당기십시오 ( ) (삽입하려는 곳의 왼쪽 상단으로 이동하십시오).

C-x r t( string-rectangle)를 사용하고 빈 문자열을 입력 할 수도 있습니다 .

사각형 명령은 열 위치를 기반으로합니다. 탭과 같은 여러 열 문자를 사용하여 n 열 대신 n 문자를 삭제하려면 정규 표현식 대체^.\{42\} 를 사용하십시오. 모든 행의 처음 42자를 삭제하려면 아무것도 대체 하지 마십시오 .


3
모든 사각형 명령을 기억하는 대신 C-spc 대신 Cx spc를 사용하면 영역이 사각형으로 바뀌고 모든 것이 제대로 작동합니다.
Malabarba

1
@Malabarba Emacs 24부터 만 가능합니다. (이맥스 23을 가진 기계에 이것을 기록하는 것. 그것들은 여전히 ​​굉장히 많이 있습니다.)
Gilles 'SO- 악의를 멈춰라'

2
내 애도 ... :-(
Malabarba

이 단지 GNU 이맥스 23.4.1에 나를 위해 일한 (x86_64에-PC-리눅스 GNU, GTK + 버전 2.24.21) 데비안에 의해 수정 딸기에 2013년 10월 25일의은
davidrmcharles

4

또 다른 가능성 : 나는이 같은 작업에 여러 커서를 사용하고 싶습니다. package.elMELPA 를 통해 제공되는 이맥스에서 없어서는 안될 부분이되었습니다. 간단히 선택하고 I said(앞에 줄 바꿈 포함) 사용 M-x mc/mark-all-like-this하고 길을 가고 싶습니다. 보다 세밀한 제어를 원하면 mc/mark-next-like-this또는 을 사용할 수 있습니다 mc/mark-next-lines.

내 키 바인딩 :

(use-package multiple-cursors
  :bind (("C->"   . mc/mark-next-like-this)
         ("C-M->" . mc/mark-all-like-this-dwim)))

의무적 인 Emacs Rocks! 에피소드 : http://emacsrocks.com/e13.html


3

당신이 경우 cua-mode활성화, 다음 :

  • C-a 줄의 시작으로 이동
  • C-RET 직사각형을 시작하려면
  • 그런 다음 화살표 키 또는 emacs 이동 명령으로 이동하십시오. C-f
  • DEL 선택을 삭제하려면

나는 cua-modeEmacs 표준 사각형에 비해 작업 방식을 선호합니다 .

  • C-a 줄의 시작으로 이동
  • C-SPC 직사각형을 시작하려면
  • 그런 다음 화살표 키 또는 emacs 이동 명령으로 이동하십시오. C-f
  • C-x r d 선택을 삭제하려면

cua-mode표준 이맥스 사각형에 비해 세 가지 키 입력을 저장합니다.


3

완성도를 높이기 위해 : 빈 문자열을 사용하여 정규식 대체 ^...(또는보다 일반적으로 :)를 사용하여 각 줄에서 처음 3자를 삭제 ^.\{3\}합니다.

설명 : 정규식에서 ^"줄의 시작"을 .의미하고 "모든 문자"를 \{n\}의미하며 "이전의 n 개의 반복 "을 의미 합니다.

이 대화 형 (하나의 프레스 않는 것의 추가 혜택이 !차종은 query-regexp-replace추가 질문없이 지금부터 모든 것을 대체)를.


1
왜 다운 보트인가?
mbork

0

그리고 하나 더 가능성 :

F3C-aC-3C-dC-nF4

기본적으로 "줄의 시작 부분으로 이동, 세 문자 삭제 및 다음 줄로 이동"이라는 키보드 매크로를 기록합니다. 그런 다음을 사용하여 버퍼가 끝날 때까지 재생 C-uF4하거나 C-xC-kr영역의 행에 적용 할 수 있습니다. 한 가지 단점이 있습니다. 한 줄이 3 자 미만이면 줄이 끊어집니다.


-1

한 줄이면 Mz를 사용하여 문자와 문자를 삭제할 수 있습니다. 포인트와 삭제하려는 문자 사이에 문자가 반복되지 않는다고 가정합니다. 경우에 따라 지역을 만드는 것보다 빠릅니다.

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