easy-kill はEmacsのコピーを強化するパッケージです。

通常のEmacsなら、まずコピーしたい範囲を選択してから、ショートカット M-w を押してコピーしますが、easy-killを使うと、一度の操作でコピーすることができます。

インストール

まず M-x package-installeasy-kill をインストールしてください。

そしてショートカット M-w に easy-kill をバインドしておきます。

(global-set-key [remap kill-ring-save] 'easy-kill)

使いかた

例えば、次のようなソースで、カーソルが★のところにあったとしてます。

(defun hello ()
  (inte★ractive)
  (message "Hello, wrold!"))

ここで、 M-w を押すと、背景色が変化して、現在の行全体が、即座にコピーされます。(Emacsのregionではない)

標準のEmacsなら、まず行全体を範囲選択してから M-w を押さないといけないのですが、 一回の操作で

(interactive)

がコピーされます。

詳しい機能は、 M-w の後に、 ? を押して表示されるヘルプを確認してほしいのですが、ここでは覚えておくと便利な汎用的なショートカットを紹介します。

複数行をまとめてコピー

M-w に続けて、 +- を押すと選択範囲の行が増減して、そのままコピーされます。

現在のバッファのファイルパスをコピー

M-w b を押すと、現在のバッファのフルパス名がコピーされます。

追記コピー

通常はコピーする毎に、新しい内容で上書きされますが、 M-w @ を押していくと、現在のコピー内容の末尾に追記でコピーしていってくれます。

最後に

easy-kill の M-w で背景色が変化すると、一瞬、EmacsのRegionが設定されたように見えます。最初は違和感があったのですが、少しずつ慣れてきました。killの複数な操作が染み付いているので、操作が簡単になると、逆にEmacsの操作が少し物足りない気もしました。Emacsのあの複雑な操作系が好きな人にはeasy-killは不要なのかもしれないです・・・。