- quick-buffer-switch 20151007.1508(in MELPA)
- Quick switch to file or dir buffers.
概要
quick-buffer-switch.el は、特定の条件を満たす
ファイルやディレクトリを容易に開くことのできるパッケージです。
たとえばdiredだけ、emacs-lisp-modeだけ、
org-modeだけといった具合です。
ただ、単体では正直使いやすくありません。
なぜなら、候補選択は通常の completing-read が使われているため、
ミニバッファで補完という原始的なインターフェースだからです。
幸いなことにcompleting-readのインターフェースは
別なものにすりかえることができます。
現時点ではhelmが良いでしょう。
helmもインストールして
(helm-mode 1)
を加えればhelmのインターフェースで選択できます。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてquick-buffer-switchを使う方は
以下のコマンドを実行します。
M-x package-install quick-buffer-switch
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name quick-buffer-switch
helm推奨です。
M-x package-install helm
設定 141213035150.quick-buffer-switch.1.el(以下のコードと同一)
(require 'quick-buffer-switch) (setq qbs-prefix-key "C-x C-c") ;プレフィクスキー、C-x C-cは潰していいよね (qbs-init) (helm-mode 1) ;helmなどを入れないと使いづらい (qbs-add-predicates ;カスタマイズするときに囲む必要ある ;; M-x qbs-ruby-modeを定義 (make-qbs:predicate :name 'ruby-mode ;名前 :shortcut "r" ;C-x C-c rに割り当て ;; enh-ruby-modeかruby-modeかつファイルバッファ :test '(and (memq major-mode '(enh-ruby-mode ruby-mode)) qbs:buffer-file-name)))
実行方法
$ wget http://rubikitch.com/f/141213035150.quick-buffer-switch.1.el $ emacs -Q -f package-initialize -l 141213035150.quick-buffer-switch.1.el
最初に使えるコマンド
このようにいろいろな条件が予め定義されています。
けれどもこれらは覚える必要はなく、
使うものを適宜キーに割り当てたり
自分で定義した方がよいでしょう。
C-x C-c C-h | 隠しバッファ | M-x qbs-hidden-buffer |
C-x C-c C-/ | 正規表現で絞り込み | M-x qbs-matching-regexp |
C-x C-c C-d | dired | M-x qbs-directory |
C-x C-c C-f | ファイル | M-x qbs-file-name |
C-x C-c f | ファイル | M-x qbs-file-buffer |
C-x C-c C-c | ファイルかディレクトリ | M-x qbs-file-or-directory |
C-x C-c C-o | org-mode | M-x qbs-org-mode |
C-x C-c C-e | ERC | M-x qbs-erc |
C-x C-c C-g | Magit | M-x qbs-magit |
C-x C-c C-v | vcsh | M-x qbs-vcsh |
C-x C-c C-l | emacs-lisp-mode | M-x qbs-emacs-lisp-mode |
C-x C-c C-i | HelpかInfo | M-x qbs-help-buffer |
C-x C-c C-b | ファイル・ディレクトリ以外 | M-x qbs-not-file-nor-directory |
C-x C-c C-p | プロセスバッファ | M-x qbs-with-process |
C-x C-c C-v | shell-mode/term-mode | M-x qbs-terminal |
C-x C-c C-r | リモートファイル | M-x qbs-remote |
本設定ではqbs-ruby-modeをC-x C-c rに割り当てる例を示しました。
Fig1: helmインターフェースでRubyのバッファを選択!
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。