Emacsのコピー操作を効率化するeasy-kill
easy-kill
はEmacsのコピーを強化するパッケージです。
通常のEmacsなら、まずコピーしたい範囲を選択してから、ショートカット M-w
を押してコピーしますが、easy-killを使うと、一度の操作でコピーすることができます。
インストール
まず M-x package-install
で easy-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は不要なのかもしれないです・・・。