ファイルを開く時、私は dired を利用することが多い。dired を起動すると、ミニバッファに変数 default-directory で決定されるディレクトリが表示される。この値は、編集中のファイルが存在するディレクトリだが、開きたいファイルが編集中のファイルと同じディレクトリにあるとは限らない。この場合、その都度ミニバッファで編集してディレクトリを指定しなければならないのがわずらわしい。それに、ディレクトリの階層が深かったり、たまにしか開かないので、パス名を覚えていないこともある。そこで、エイリアスを定義しておいて、エイリアスでディレクトリを開くようにすれば、そのようなわずらわしさも軽減できるのではないかと考えた。
インストールと設定
load-path の通ったディレクトリに dalias.el をコピーして、下のコードを .emacs に追加します。
(require 'dalias)
4個のコマンドが利用可能です。
M-x dalias M-x dalias-other-window M-x dalias-other-frame M-x elscreen-dalias
elscreen-dalias は、elscreen を利用して、dired を新しい screen で起動するためのコマンドです。
以下は、私が行っている設定です。標準のキーバインドを dalias に差し替えています。
(define-key ctl-x-map "d" 'dalias) (define-key ctl-x-4-map "d" 'dalias-other-window) (define-key ctl-x-5-map "d" 'dalias-other-frame) (define-key elscreen-map "d" 'elscreen-dalias)
使い方
エイリアスを入力してディレクトリを開くので、開きたいディレクトリに対して、エイリアスを定義しておく必要があります。もちろん、一度定義したエイリアスは削除できます。
- エイリアスを定義する
-
dalias を起動すると、下のイメージのようにエイリアスを聞いてくるので、あらかじめ考えておいたエイリアスを入力します。私は、~/lib/emacs 以下に自分の Emacs Lisp を置いていますが、この例では ~/lib/emacs に対して "elisp" というエイリアスを定義しています。
Enter するとディレクトリ名を聞いてくるので、~/lib/emacs と入力します。
Enter で確定すると操作は完了し、同時に ~/lib/emacs が開きます。これで、次回からは M-x dalias RET elisp RET で、~/lib/emacs を開くことができるようになります。また、入力の補完もできるので、ディレクトリを開くのがとても楽になります。設定情報は自動的に ~/.dalias に保存されます。
- エイリアスを削除する
-
定義した "elisp" を削除してみます。dalias を起動して "elisp" と入力し、さらに末尾に "/" (スラッシュ)を追加します。
Enter すると、問い合わせてくるので、yes と答えれば、定義した "elisp" が削除されます。
その他
私は、dired の標準のキーバインドに、dalias を割り当てていますが、普通に dired を起動したいときもあります。そのような場合には、M-x dalias RET の次に、エイリアスを入力せずに、単に Enter すれば dired が起動します。