텍스트 대신 다른 텍스트 를 잡아 당길 수 있도록 일부 텍스트를 삭제하고 싶습니다 . 어떻게 할 수 있습니까? Cw는 선택한 텍스트를 잘라내어 링을 죽이고 내가 잡아 당기고 싶은 텍스트없이 끝납니다.
또한 버튼을 누르지 않고도 텍스트 대신 텍스트를 직접 잡아 당기는 것이 가능 합니까?
답변
M-x delete-region
자주 입력 하지만 키에 바인딩 할 수 있습니다.
최신 버전의 Emacs에서 선택 모드 삭제를 사용하면 명령을 입력 할 필요가 없습니다.
기본적으로 텍스트 삽입은 마크가 활성화 된 경우에도 일반적으로 발생합니다. 예를 들어 a를 입력하면 문자 ‘a’가 삽입 된 다음 마크가 비활성화됩니다. 보조 모드 인 삭제 선택 모드는이 동작을 수정합니다. 해당 모드를 활성화 한 다음 마크가 활성화 된 상태에서 텍스트를 삽입하면 영역의 텍스트가 먼저 삭제됩니다. 또한, 일반적으로 같은 단지 하나의 문자를 삭제하는 것이 명령 C-d또는 DEL대신 전체 영역을 삭제합니다. 선택 삭제 모드를 켜거나 끄려면 다음을 입력합니다.
M-x delete-selection-mode.
답변
M-y
after C-y
를 사용 하여 킬 링에서 이전 항목을 삽입하거나 browse-kill-ring 패키지를 사용할 수 있습니다 .
두 번째 질문에 대해서는 DeleteSelectionMode를 참조하십시오 .
답변
나는 같은 문제가 있었다. 내가 지금까지 얻은 가장 가까운 것은 본질적으로 작은 함수를 만드는 것입니다.
(defun ruthlessly-kill-line ()
"Deletes a line, but does not put it in the kill-ring. (kinda)"
(interactive)
(move-beginning-of-line 1)
(kill-line 1)
(setq kill-ring (cdr kill-ring)))
답변
‘kill-line’
(‘C-k’
) 와 동일 하지만 킬링 부작용이 없습니다.
(delete-region (point) (line-end-position))
답변
Mx eval-expression (setq kill-ring (cdr kill-ring))-kill-ring에서 마지막 항목을 제거합니다.
답변
두 번째 질문의 경우, 다른 방법에 DeleteSelectionMode 당신은 사용할 수 있습니다 CUA 모드 를 추가하면 C-반환으로 활성화 멋진 사각형 선택 모드를 제공합니다. CUA 모드는 22.1 이후 emacs의 일부입니다.
답변
이것에 대한 답을 찾았습니다.
여기에 먼저 게시했습니다 .
;; Ctrl-K with no kill
(defun delete-line-no-kill ()
(interactive)
(delete-region
(point)
(save-excursion (move-end-of-line 1) (point)))
(delete-char 1)
)
(global-set-key (kbd "C-k") 'delete-line-no-kill)