emacs のマッチングのパッケージをhelm からvertico に変更した話
2022年 01月 04日 火曜日
これは2022/01/04のMK社内LTで発表した内容です.
前提
清水は普段emacs という古のエディターを使っています. 普段みなさんがお使いの、VSCode でCmd+P(Ctrl+P) とか Cmd+Shift+P(Ctrl+Shift+P) みたいなやつは、emacs の anything というパッケージで発明された概念です. 清水は5年くらい前にanything から helm というパッケージに移動して使っていたのですが、更新が滞っており、verticoというパッケージに移動しました. 年始1/2に半日ほどかけて設定しました.
Vertico の特徴
helm はc-l で上のディレクトリに移動する。補完がTABじゃない等、emacs のキーバインドからかなり離れた独自のキーバインドを持っており、そこが原因で結構嫌われていましたが、vertico はその辺りが改善されており、標準のemacs の操作ができるかたであれば誰でも割と簡単に利用が可能です.
関連パッケージ
vertico 単体では単純なフィルターだけをサポートしていて単体だけのインストールではあまりモダンな使い勝手にならず、辛いので関連のパッケージもインストールが必要です 参考: https://blog.tomoya.dev/posts/a-new-wave-has-arrived-at-emacs/
https://github.com/minad/ さん https://github.com/oantolin さん のパッケージを入れます
- vertico: ミニバッファ補完UIだけを提供
- consult: バッファの切替の補完や現在のワークスペースの全ファイルを検索して絞り込み(helm-projectile-ag) に対応するconsult-ripgrep を提供(rg コマンドが必要)
- orderless: helm 的な順不同のスペース区切りのファジーなマッチを提供
- marginalia: 補完項目に付帯情報を表示する(M-x でコマンドの一覧を出すとキーボードショートカットや、説明が表示される)
まだ困っているところ
c-l(1ディレクトリ上に移動する方法) がわからない- helm-swoop の代替が見つかっていない
- 現在開いているバッファ(ファイル)を全文絞り込みマッチしたい
- cosult-ripgrep でカーソル位置の単語をデフォルトにしたい
良かったところ
- 見た目が今風になりました。VSCode使っている若者に負けないくらいかっこいいとおもいます.
- 操作方法にトリッキーさが無いので普通に使いやすいです.
- アップデートも早く継続的なアップデートが期待できそうです.
- Webサイトの情報が充実しており use-package するだけで簡単に利用できました.
成果物
https://github.com/katsusuke/.emacs.d/blob/ef22b4737a57bbf970bd27a02b845e5382d03f0c/init.el
今後
Spacemacs の動向を注意深く見守っていきたいです。