在emacs中,如果选择了区域,我想将C-k绑定到kill-region;其他杀线正常。 如何配置?
答案 0 :(得分:12)
将它放在你的.emacs
中(defun kill-line-or-region ()
"kill region if active only or kill line normally"
(interactive)
(if (region-active-p)
(call-interactively 'kill-region)
(call-interactively 'kill-line)))
(global-set-key (kbd "C-k") 'kill-line-or-region)
答案 1 :(得分:5)
这听起来像是建议的工作!
(defadvice kill-line (around kill-region-if-active activate)
(if (and (called-interactively-p) (region-active-p))
(kill-region (region-beginning) (region-end))
ad-do-it))
编辑:添加了called-interactively-p
支票。
答案 2 :(得分:0)
这不是一个直接的答案,而是一些提示。
您可以(delete-selection-mode 1)
启用delete-selection-mode。然后,如果标记了某个区域,当您开始键入某个文本时,该区域将被删除。但在你的情况下你可以简单地使用 C-w 来剪切当前区域,这会将区域添加到kill-ring但kill-line
也会这样做。