2014-03-04 8 views
4

표현 방법을 모르겠습니다. 아래 예를 참조하십시오.어떻게 사각형을 죽일 수 있지만 Emacs에서 일반적인 kill과 같은가?

입력 :

a 
bc 
deffffffff 
gh 
i 

내가 마크를 설정 "H""C"와 현재 커서 전에. 그리고 C-x r kM-x kill-rectangle입니다. 입력, 출력 및 kill 링 버퍼에 공백이 없다고 가정합니다.

출력 :

a 
b 
dffffffff 
g 
i 

킬 링 : 출력을 다음과 링을 죽일

c 
e 
h 

하지만 내가 얻고 싶은 것이있다.

원하는 출력 :

a 
b 
d 
g 
i 

원하는 킬 링 :

c 
effffffff 
h 

이 할 수있는 방법이 있습니까? 감사.

+1

'h'다음에 공백을 추가하고 'C-x r k'를 추가하십시오. 지역은 보이지 않지만 계속 작동합니다. 마지막으로,'delete-trailing-whitespace'. –

+0

네, 그게 제가 한 일입니다. 그러나 나는 홱 잡아 당긴 후에'delete-trailing-whitespace '를 알지 못했다. 매우 유용합니다. 감사. 그리고 더 똑똑한 방법은 환영합니다! –

답변

1

한 가지 방법은, 그러나 공백과 놨 :

  1. M-x picture-mode와 영상 모드를 입력합니다.
  2. 같은 위치에서 영역을 시작한 다음 마지막 f 다음의 공백으로 커서를 이동하십시오.
  3. 죽여 : C-x r k.
  4. 그림 모드를 C-c C-c으로 종료하십시오. 이것은 후행 공백을 삭제하는 부차적 인 효과가 있습니다. 또한, 죽은 사각형에는 공백이 채워집니다.
3

cua-mode의 직사각형 조작 기능은 꽤 정교합니다. 귀하의 사용 예를 들어, cua-set-rectangle-mark으로 사각형을 표시 한 다음 cua-copy-rectangle으로 사각형을 복사 할 수 있습니다. 마지막으로 cua-paste을 사용하여 붙여 넣습니다.여기

1) 먼저 RET MXcua-mode을 수행하여 cua-mode을 사용하는 예이다

2) cua-set-rectangle-mark 가진 직사각형을 마킹 (C-RET)

rectangle selection with cua-mode

바인딩

3) 으로 선택된 직사각형을 복사하십시오 (Mw가) 또는 cua-cut-rectangle로 사각형을 죽일가 (마지막으로 싸이에 바인딩 cua-paste()

UPDATE 페이스트의 Cw)

4) 에 바인딩 : 이맥스 24.4 (에서 아직 발표되지 않음) cua-mode을 활성화하지 않고도 cua-rectangle을 사용할 수 있습니다. 관련 명령은 cua-rectangle-mark-mode입니다.

+3

Emacs-24.4에서는 cua-mode를 활성화하지 않고'M-x cua-rectangle-mark-mode'를 사용할 수 있습니다. – Stefan

+0

@Stefan님께 감사드립니다. 답변을 업데이트했습니다. –