Emacs

Emacs:刪除一行而不將其發送到kill ring

  • June 8, 2018

我想使用C-k刪除一行而不將其發送到kill-ring.

我的.emacs文件中有以下內容

(delete-selection-mode 1)

但這似乎只適用於C-d( delete-char)

我還閱讀了此執行緒中描述的解決方案:Emacs:如何在沒有終止環的情況下刪除文本?,但我沒有看到任何可以解決這個確切問題的東西。

(defun delete-line (&optional arg)
 (interactive "P")
 (flet ((kill-region (begin end)
                     (delete-region begin end)))
   (kill-line arg)))

也許這不是最好的解決方案,但它似乎有效。您可能需要將 `delete-line’ 綁定到某個全域鍵,例如

(global-set-key [(control shift ?k)] 'delete-line)

cinsk 答案在 emacs 24 上對我不起作用。

但這確實:

;; 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)

引用自:https://unix.stackexchange.com/questions/26360