emacsのanythingパッケージを使ってみる

emacsのanythingパッケージが極めて有用です。

emacsのデフォルトで入っていても良いくらいです。

anythingパッケージの使い方をまとめました。


1 anythingとは

キーボードで入力する文字列を、一覧表示された候補文字列から選択できるようにするelispパッケージです。

list-buffersの代替え用のanything-for-filesコマンドもあります。

2 auto-installのインストール

auto-install-batchコマンド経由でanythingパッケージをインストールする為、最初にauto-installパッケージをインストールします。

 

emacswikiからauto-install.elを取得します。

私はelispパッケージのload-pathを~/.elisp/にしており、auto-install.elを~/.elisp/に設置しています。

$ wget http://emacswiki.org/emacs/download/auto-install.el
$ mkdir -p ~/.elisp/
$ mv auto-install.el ~/.elisp/

.emacsにauto-installの設定を追加します。

;; auto-install for NOT enough packages in package-list-packages
(require 'auto-install)
(add-to-list 'load-path (expand-file-name "~/.elisp/auto-install"))
(setq auto-install-directory "~/.elisp/auto-install/")
(auto-install-compatibility-setup)

3 anythingのインストール

M-x auto-install-batchコマンドを実行し、anythingと入力します。

Extension name: anything

10個くらいのパッケージがダウンロードされます(2分くらい掛かります)。

 

auto-installはバッファにパッケージをダウンロードした後、C-cキー C-cキーでauto-install-directoryで指定したディレクトリにパッケージをインストールします。

 

ダウンロードが完了すると各パッケージのファイルがバッファに開かれるので、C-cキー C-cキーでインストールしてください。

Type C-c C-c to continue; Type C-c C-d for view diff; Type C-c C-q to quit.

4 .emacsの設定

requireでanything-startupパッケージをロードします。

また、anything-for-filesコマンドをグローバルなC-qキーに割り当てます。

;; anything
(require 'anything-startup)
(global-set-key "\C-q" 'anything-for-files)

5 anything-for-filesコマンド

C-xキー C-bキーのlist-buffersに似ていますが、以下の点で優れています。

  • バッファの切り替えが不要(C-xキー C-oキー不要)。
  • C-gキーで元のバッファに戻る。
  • 最近使ったファイル一覧とカレントディレクトリのファイル一覧を表示。 

バッファの閉じ方はC-qキーでバッファ一覧を表示させた後、カーソル移動で閉じるバッファに移動してからM-Dキーです。

6 anythingによる補完

M-xを実行するとコマンド入力を促すと同時に、"anything"バッファが表示され、コマンドの一覧が表示されます。

anything導入前は"M-x"となっていた入力用の領域が、anything導入後は"pattern: "になっています。

pattern:のところでauto-installと入力するとコマンド一覧が絞られ、auto-installが含まれるコマンドのみになります。

C-nキーやC-pキーでカーソルを移動してコマンドを選択することができ、キーボードの入力を減らすことができます。

 

最近使ったコマンドも一覧に表示されるので、キーバインディングされていない同じコマンドを複数回使う場合は、2回目以降のキーボード入力を省略できます。

C-z: alcs-describe-function (keeping session)
Commands at 17:02:16 (Press `C-c C-u' to update)
auto-install-from-buffer
auto-install-batch
auto-install-mode
anything-auto-install
auto-install-buffer-save
auto-install-from-gist
auto-install-from-url
auto-install-send-bug-report
auto-install-dired-mark-files
auto-install-buffer-quit
auto-install-minor-mode
anything-auto-install-from-library
auto-install-batch-edit
anything-auto-install-batch
auto-install-buffer-diff
auto-install-update-emacswiki-package-name
auto-install-compatibility-setup
auto-install-from-directory
auto-install-from-emacswiki
anything-auto-install-from-emacswiki
auto-install-from-library
auto-install-from-dired

New
Command
auto-install
-UUU:**--F1  *anything*     All L2 (Anything) ------------------------------
pattern: auto-install

anythingが優れている点は、read-string等の入力を促す箇所すべてで入力用の文字列候補が表示される点です。