ido-modeでmigemoれる ido-migemo.el作りました
- 2015.09.14
- Emacs

Emacsでの候補選択のインターフェイス、まあ いろいろあります。
それぞれ、一長一短あり、好みの別れるところだとは思いますが、最近は、Helm, popup, Idoをそれぞれ使い分けるようになってきました。
なかでも、ido-modeは、smexやido-vertical-modeなどの素敵アプリが出てきて、俄然使用頻度が増えてきました。
ただ、残念なことにmigemoがききません。一方、Helmにはhelm-migemoがあり、日本語まじりの候補選択ではとても便利です。
ido-modeでmigemoれれば、さぞかし便利だろうに。。。と常々思っていたこともあり、ido-modeでmigemoれるアプリを作ってみました。
インストール
MELPAに登録してもらいましたので、package.elとかからインストールできます。
手動派の方はGitHubのリポジトリからダウンロードをお願いします。
使い方
ido-migemo.el
は、 ido-migemo-mode
というマイナーモードを提供しています。 ido-migemo-mode
を有効にすることでido-modeでmigemoがきくようになります。
カスタマイズ
ido-migemo-mode
はmigemoがきくというメリットはあるものの、idoのメリットでもあるflex matchやregexp matchを犠牲にしてしまいます。適材適所でmigemoの有効無効を変えたいものです。
そこで、 ido-migemo-mode
では ido-migemo-exclude-command-list
というリストにより、ido-migemoがきかないコマンドを指定することができます。デフォルトでは smex
が無視されるようになっています。 好みに応じて、適宜変えてください。
他のカスタマイズ変数など諸々設定すると、次のような感じになると思います。
(require 'ido-migemo) (ido-mode 1) (ido-migemo-mode 1) (setq ido-migemo-exclude-command '(smex ido-switch-buffer) ido-migemo-prompt-string "Migemo|")
Appendix
今回のアプリを作るうえで、ido.elで定義されている関数をまるごと横取りするという危なっかしい方法をとっています。いろいろ問題ありそうな気もするので、何か不具合が起きたら まず ido-migemo-mode
を無効にすることをおすすめします :p
作りたてホヤホヤということもあり、いろいろバグあると思います。気づいた方は、GitHubのissueに投げてください。ぷるりく投げてもらうと、とても助かります。
-
前の記事
ポイント下のファイル/URLをチラ見するquick-preview.elを作りました 2015.08.23
-
次の記事
高隈山ピークハントトレイル を走った 2019.02.16