emacsのanythingパッケージが極めて有用です。
emacsのデフォルトで入っていても良いくらいです。
anythingパッケージの使い方をまとめました。
Table of Contents
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等の入力を促す箇所すべてで入力用の文字列候補が表示される点です。