- ivy 20170806.1231(in MELPA)
- Incremental Vertical completYon
概要
Emacsでの 候補選択 は helm や ido がメジャーだと思いますが、
またまた新しい実装が出てきました。
バッファ・ファイル選択のインターフェースとしても
lusty-explorer.el(レビュー) もありますし、
Emacs愛好家はオレオレインターフェースを作りたがるものです。
ivy.el はhelmやido-vertical-mode.el(レビュー) のように
縦方向の候補を並べ、絞り込み検索により候補選択をします。
使い方は非常に自然でhelmやido-vertical-modeとほぼ変わりません。
3/10に誕生したばかりのまったく新しいelispで、
現時点では荒削りな印象は拭えません。
スペースで絞り込み検索ができるといっても、
単にスペースに「.*」をくっつけた正規表現を作成するだけです。
「foo bar」は「foo.*bar」になるので「foo x bar」にはマッチしますが、
「bar x foo」にはマッチしません。
idoのあいまいマッチでは「foobar」とスペース抜きでも
「foo x bar」にマッチします。
helmならば真の絞り込み検索なので双方にマッチします。
今後の開発により、どのように進化するのかが楽しみであります。
ivyを使ったアプリケーションとして、
一覧付き正規表現isearchのswiper.el(レビュー) があります。
Fig1: ivy-readの初期画面
Fig2: ivy-readでの絞り込み
Fig3: ido-vertical-modeの初期画面
Fig4: ido-vertical-modeでの絞り込み
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてivyを使う方は
以下のコマンドを実行します。
M-x package-install ivy
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name ivy
設定 150315083615.ivy.el(以下のコードと同一)
(require 'ivy) ;;; 使用例 ;; (ivy-read "ivy test: " '("for example" "test" "helm" "ivy")) ;; (ido-completing-read "ivy test: " '("for example" "test" "helm" "ivy")) ;; (ivy-read "ivy test: " (directory-files "/")) ;; (ido-completing-read "ivy test: " (directory-files "/"))
実行方法
$ wget http://rubikitch.com/f/150315083615.ivy.el $ emacs -Q -f package-initialize -l 150315083615.ivy.el
本サイト内の関連パッケージ
- helm - Helm is an Emacs incremental and narrowing framework
- swiper - Isearch with an overview. Oh, man!
- ido-vertical-mode - Makes ido-mode display vertically.
- ido-ubiquitous - Use ido (nearly) everywhere.
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。