[emacs] キルリングを使いこなそう!
2009年06月12日(金)09:07|mori
こんにちは、森です。 今回は emacs の話題です。特に、「anything のインストールはできたんだけど、使いこなせている気がしないなー」という人向けです。僕の実力もそんなところです。 皆さんは emacs のキルリングを有効活用していますか。単純に M-y で yank-pop していくだけでも履歴をさかのぼれて便利なのですが、一覧性がありません。調べると、ヤンク候補を見やすくするための工夫として anything、kill-summary.el 、browse-kill-ring.el 、yank-pop-summary.el などがありました。僕は anything をもっと使えるようになりたいので、anything でキルリングを扱う方法を導入しました。この記事ではその内容をご紹介します。
「紹介」といっても最新のanything-config.el(とanything.el, anything-match-plugin.el)であれば 、”anything-show-kill-ring”という関数が定義されているので、設定ファイル(.emacsなど)に次のような記述を追記するだけです。もちろん、 kill-ring-max 、 anything-kill-ring-threshold はカスタマイズ変数なので、M-x customize-variable RET kill-ring-max などとして設定することも可能です。
;;kill-ring の最大値. デフォルトは 30.
(setq kill-ring-max 20)
;;anything で対象とするkill-ring の要素の長さの最小値.
;;デフォルトは 10.
(setq anything-kill-ring-threshold 5)
(global-set-key "\M-y" 'anything-show-kill-ring)
あるいは別の設定方法として、 他の選択候補と並べて anything-sources に入れておくという方法でも利用できます。
(setq anything-sources
'(anything-c-source-buffers
anything-c-source-file-name-history
anything-c-source-bookmarks
anything-c-source-imenu
anything-c-source-gtags-select
anything-c-source-kill-ring ))
僕の場合はanything-show-kill-ring 関数から利用する方法が気に入っています。
呼び出し例は次の通り。 “\M-y” で anything-show-kill-ring を呼び出しました。emacs23 で使っています。
anything の絞込み検索もできます。統一されたインターフェースで扱えるのがいいですよね。
anything-config.el はドキュメント (ソースコードのコメント欄など) が充実しています。読んでいると思わぬ発見があります。今回はその一例を紹介してみました。
参考情報

