LoginSignup
5
6

More than 3 years have passed since last update.

ivy/counsel/swiper系コマンドのmigemo対応

Last updated at Posted at 2021-04-17

ivyやcounselでmigemo対応を行うためにはavy-migemoを使うひとがかつては多かった。
しかし、avy-migemoは長くメンテされておらず、avy-migemoを使わずにmigemo対応を実現する試みが多く行われている。以下はそのような対応を実現された方々のブログ記事である。

またQiitaにもすでに上記の記事を参考に設定を行った記事が見つかる。

これらの方々の記事を参考に、ivy系インターフェイスを持つコマンドをmigemo対応するためのminor-modeを書いたのだった。ivy-with-migemo-modeである。MELPAのパッケージ登録はしていないので、ダウンロードしてロードパスの通ったところに置くとよい。

設定例は以下である。swiperをはじめとしてcounsel-rgまでがmigemo対応の対象になる。なおmigemo-optionsmigemo-killmigemo-initcounsel-rgをmigemo対応するための設定である。

(require 'ivy-with-migemo)
(setq ivy-with-migemo-enable-command ; migemo対応の対象となるコマンドを設定
      '(swiper
        swiper-isearch
        counsel-recentf
        counsel-rg))
(setq migemo-options '("--quiet" "--nonewline" "--emacs"))
(migemo-kill) ; migemoシャットダウン
(migemo-init) ; migemo再起動
(global-ivy-with-migemo-mode 1) ; 有効化

とくにcounsel-rgのmigemo対応により、日本語で書かれた複数ファイルにまたがってmigemo的な検索が(超)高速に実現できるので、便利だと思われる。なおrgコマンド(ripgrep)は、最新のソースコードを本家からダウンロードしてコンパイルするのがよい。Ubuntuのapt系ではとても古いバージョンものしか入らなかったからである。

以下の記事にivy-with-migemo-mode作成の経緯を書いておいたので、ご参考まで。すでに同様の機能を実現しているivy-migemoとの違いについても触れている。ひとによってはivy-migemoのほうが好みということも十分にあると思われる。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6