2013-05-14 2 views
3

매뉴얼에서 kill-region을 순차적으로 사용하면 죽이는 텍스트는 kill-ring에서 하나로 연결됩니다.
나는 이것이 어떻게 작동하는지 혼란스러워합니다.emacs, kill-region을 여러 번 호출하는 방법?

(progn 
    (kill-region 1 5) ; this kills ";; T" 
    (kill-region 1 5)); this kills "his " 

내가 기대하는 것은 내가 죽 - 지역 2 번을 사용하기 때문에, 죽인 텍스트는 킬 (kill) 링의 하나로 연결될 수 있어야한다는 것입니다 : 그래서 에서이 버퍼를 긁어 평가 후면 시도했다.
하지만 C-y를 사용하면 "his"만 얻습니다. 살해 텍스트가 연결된되도록하는 방법을 죽일 - 지역 여러 번 호출, 혀짤배기에서

  • :
    그래서 나는이 개 여기에 질문이?

  • 키보드 C-w를 사용하여 kill-region을 여러 번 호출하여 살해 한 텍스트를 연결하는 방법은 무엇입니까? 일반적인 워크 플로우는 kill-region (C-w)이기 때문에 move-cursor, kill-region을 다시 수행하십시오.

여기는 kill 영역의 doc 문자열입니다. 두 번째 단락과 마지막 단락은 모순이 아닙니까?

"Kill (\"cut\") text between point and mark. 
This deletes the text from the buffer and saves it in the kill ring. 
The command \\[yank] can retrieve it from there. 
\(If you want to save the region without killing it, use \\[kill-ring-save].) 

If you want to append the killed region to the last killed text, 
use \\[append-next-kill] before \\[kill-region]. 

If the buffer is read-only, Emacs will beep and refrain from deleting 
the text, but put the text in the kill ring anyway. This means that 
you can use the killing commands to copy text from a read-only buffer. 

Lisp programs should use this function for killing text. 
(To delete text, use `delete-region'.) 
Supply two arguments, character positions indicating the stretch of text 
to be killed. 
Any command that calls this function is a \"kill command\". 
If the previous command was also a kill command, 
the text killed this time appends to the text killed last time 
to make one entry in the kill ring." 
+0

문서에서 어디에서 정보를 찾았습니까? – choroba

+0

그것은 키보드의 C-k를 반복 한 후에 만 ​​작동합니다. –

+0

그것은 kill-region 함수의 정의에 있습니다.(내가 혀짤음 도입부를 읽고 있었다) –

답변

4

설명서는 기능이 아닌 명령을 의미합니다. 명령은 command loop을 시작하는 함수 입니다.

이 기능을 호출하는 모든 명령은 \ "kill 명령 \"입니다. 이전 명령이 kill 명령이기도 한 경우 이 시간에 죽은 텍스트가 지난 번 에서 살해 된 텍스트에 추가되어 킬링에 항목을 하나 만듭니다.

이 말은 kill-region 그 자체를 의미하지 않습니다. kill-region 함수를 호출하는 명령은 "kill 명령"(kill-region 자체 포함)이됩니다. 예 : kill-linekill-word

혀짤배기에서
  • , 어떻게 죽-지역을 호출하는 여러 번 살해 텍스트 이 연결된되도록?

kill-append을 사용하십시오. 내가 무엇을 기대

(progn 
    (kill-region 1 5) ; this kills ";; T" 
    (kill-region 1 5)); this kills "his " 

내가 죽 - 지역 2 번을 사용하기 때문에, 살해 텍스트 이 킬 (kill) 링의 하나로 연결될 수 있어야한다는 것입니다.

사용자는 kill-region을 명령으로 두 번 호출했지만 사용자는 명령이 아닙니다. 이 두 호출은 동일한 명령 루프 내에서 이 실행될 때 호출됩니다.

+0

키보드를 사용하여 호출 할 때 명령으로 간주되는 동안 함수가 lisp 내부에서 호출되었을 때 함수로 간주되는 것을 의미합니까? –

+0

명령은'call-interactiveively '로 시작될 수도 있습니다. –

+0

David Dai : 자세한 내용은 event_jr 링크를 따라야합니다 (또는'C-h i g (elisp) 명령 루프 RET'). – phils

관련 문제