zsh には,今までに移動したことがあるディレクトリを記録し,そこに簡単に移動できる chpwd_recent_dirs
という機能があります.これについての詳細は他の投稿に任せます.
zshのchpwd_recent_dirsでよく行くディレクトリに移動する
この機能を Emacs の dired でも利用したいと考え, helm-dired-recent-dirs.el という Elisp を書きました.提供する機能は以下の2つです.
- dired でアクセスしたディレクトリを chpwd_recent_dirs で記録する (~/.chpwd-recent-dirs に書き込む)
- 最近アクセスしたディレクトリを Helm (Anything の後継) で選択し,そのディレクトリを dired を開く
helm-dired-recent-dirs.el は以下の手順でインストールできます.
- zsh が入っていないのであれば zsh をインストール
- Emacs に Helm をインストール (MELPA を利用できるなら M-x list-packages に helm パッケージがあります)
- ロードパスが通ったところに helm-dired-recent-dirs.el を配置 (こちらも MELPA からインストールできます)
- .emacs に以下を記述
(require 'helm-dired-recent-dirs)
dired でアクセスしたディレクトリの記録はインストールすれば自動で行います.最近アクセスしたディレクトリを開くには M-x helm-dired-recent-dirs-view
を実行してください.
[6/5 追記]
helm-dired-recent-dirs.el の更新により shell-file-name
の設定を .emacs に記述する必要がなくなりました。
[6/12 追記]
helm-dired-recent-dirs が MELPA からインストールできるようになりました。