2

在 bash 中,当我按下 Cw 时,它会杀死光标前的单词。在 emacs 中,它会拉出该区域,但是当没有活动区域时,它会向前杀死。所以我必须按 M- 到(backward-kill-word)如何使 Cw 表现得像 bash shell?我是否必须创建一个函数来检查活动区域,然后决定杀死(backwards-kill-word)(kill-region)还是有其他方法?

4

2 回答 2

3

从我的 defuns.el (可能从其他地方撕下来):

(defun kill-region-or-backward-word ()
  "If the region is active and non-empty, call `kill-region'.
Otherwise, call `backward-kill-word'."
  (interactive)
  (call-interactively
   (if (use-region-p) 'kill-region 'backward-kill-word)))

编辑:#emacs 上的 tali713 有这个更好的版本,带有交互调用。

于 2012-12-26T23:10:25.783 回答
1

你已经回答了你自己的问题。只需写几行 elisp 来做这个或那个,这取决于

(if mark-active 
于 2012-12-12T17:11:14.987 回答