ファイルやバッファをメニューから選択する

通常Emacsでファイルやバッファを開く際は、C-x C-fC-x bを押した後Tab補完を行いながら文字を入力する。 しかし、何度も行う場合この方法はいささか煩雑なため、できるだけ楽に選択できるようにしたい。 ido-modehelm (anything)を使うことでインタラクティブに絞り込みながら選択することもできるが、別のアプローチとしてdiredやbuffer-menuを利用することもできる。

具体的には、次のコードを~/.emacsに書く。

;; let "C-x C-b" open in the current window
(global-set-key (kbd "\C-x\C-b") 'buffer-menu)

;; let "C-x C-d" dired current directory
(defun dired-here ()
  (interactive)
  (dired "."))
(global-set-key (kbd "\C-x\C-d") 'dired-here)

これで、C-x C-bでバッファメニューの表示、C-x C-dでカレントディレクトリのdiredを表示できるようになる。 下のアニメーションは、ファイルを開いた後、同じディレクトリの別のファイルを開き、再び元のファイルのバッファに切り替えたときの様子である。 ファイル選択は単にdiredを開いているだけなので、ディレクトリ移動やファイルリネーム・削除もできる。

カーソル移動やインクリメンタルサーチが使えて便利。