2009-11-25 4 views
5

추가 기능을 사용하여 텍스트를 (킬링에) 복사하는 방법은 무엇입니까? (이런 내장 명령이없는 이유는 무엇입니까?)링에 추가 할 emacs 명령

Appending Kills C-d 또는 C-k와 같은 kill 명령을 추가 할 수있는 C-M-w (`append-next-kill ')에 대해 언급합니다. 그러나 텍스트를 복사하는 대신 텍스트를 죽이는 것이 그것입니다.

답변

6

사실, 이러한 명령에 내장되어있다. C-M-w은 죽일뿐만 아니라 후속 사본을 추가합니다. 복사하고자하는 영역을 표시하려면 C-M-w 다음에 M-w을 입력하고 다음 C-y을 입력하면 결합 된 요소가 제거됩니다.

2

필요에 따라 추가 등록 할 수 있습니까?

3

당신의 .emacs 파일에이의 변화와 재생 ...

(defun append-kill-line (&optional arg) 
    "Append kill-line to current kill buffer, prefix arg kills from beginning of line." 
    (interactive "P") 
    (append-next-kill) 
    (kill-line arg) 
) 

(define-key global-map "\C-x\C-m" 'append-kill-line) 
1

다양한 kill 명령은 추가할지 여부를 결정하기 위해 약간의 트릭을 사용합니다. 이전 명령이 현재 명령과 동일하면 추가됩니다. 그렇지 않은 경우, 그렇지 않습니다. 함수는 이것을 수행하기 위해 last-command의 값을 사용하며,이 값을 조작하면 원하는 것을 얻는 것이 중요합니다.

(defun copy-region-as-kill-append (beg end) 
    (interactive "r") 
    (let ((last-command 'kill-region)) 
    (copy-region-as-kill beg end))) 
관련 문제