bash で Cw を押すと、カーソルの前の単語が削除されます。emacs では、リージョンをヤンクしますが、アクティブなリージョンがない場合は、前方にキルします。Cwを bash シェルのように動作させるにはどうすればよいですか? アクティブな領域をチェックする関数を作成してから、(backwards-kill-word)または(kill-region)のいずれかを強制終了することを決定する必要がありますか、それとも別の方法がありますか?
質問する
402 次
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 には、call-interactively を備えたこのより優れたバージョンがありました。
于 2012-12-26T23:10:25.783 に答える
1
あなたはすでにあなた自身の質問に答えています。これまたはそれを行うには、いくつかの行の elisp を書くだけです。
(if mark-active
于 2012-12-12T17:11:14.987 に答える