我怎样才能使emacs命令复制文本(到杀戒)通过追加? (为什么没有这样的内置命令?)emacs命令附加到环
Appending Kills提到C-M-w(`append-next-kill'),它允许我使用C-d或C-k等终止命令来追加。但它是为了杀死文本而不是复制它们。
我怎样才能使emacs命令复制文本(到杀戒)通过追加? (为什么没有这样的内置命令?)emacs命令附加到环
Appending Kills提到C-M-w(`append-next-kill'),它允许我使用C-d或C-k等终止命令来追加。但它是为了杀死文本而不是复制它们。
其实,有这样一个内置的命令。 C-M-w
将追加后续副本以及杀死。所以你会标记你想复制的区域,然后输入C-M-w
,然后输入M-w
,接下来的C-y
将会取消加入的杀戮。
可追加注册满足您的需求吗?
播放与这个在你的.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)
各种kill命令使用一些小技巧来决定是否要追加。如果前一个命令与当前命令相同,则会追加;如果没有,它不会。这些函数使用值last-command
来做到这一点,操纵这个值是获得你想要的东西的关键。
(defun copy-region-as-kill-append (beg end)
(interactive "r")
(let ((last-command 'kill-region))
(copy-region-as-kill beg end)))