はじめに
私は最初APT版のNeovimを使っていましたが、バージョンが古く、対応していないプラグインが存在したためよりバージョンが新しいSnap版に移行しました。しかし、Snap版のNeovimはAlternativesに選択肢を追加してくれないためデフォルトのテキストエディターをNeovimにすることができません。それを解決した方法をメモがてら書くことにします。
環境
- Ubuntu 24.04.1 LTS (Noble Numbat)
- Snap版Neovim
結論
以下のコマンドを順に実行します。
$ sudo snap alias nvim editor
$ sudo update-alternatives --install /usr/bin/editor editor /snap/bin/nvim 10
sudo update-alternatives --config editor
解説
以下の文章では、Snapパッケージに含まれるコマンドをさしてSnapコマンドと表現しています。
Alternativesは、ユーザーの選択に応じてシンボリックリンクを貼り替えることで同じ機能をもつコマンドを切り替えて使うようにする仕組みです。一方で、Snapは、目的のSnapコマンド名のシンボリックリンクから/usr/bin/snap
を起動させることで、起動するSnapコマンドを決定しています。例えば、Neovimがいる/snap/bin/nvim
は/usr/bin/snap
のシンボリックリンクになっています。そのため、単純にAlternativesを使って/usr/bin/editor -> /usr/bin/nvim
としてしまうと、Snapはeditorコマンドを起動しようとするため、当然のことながらNeovimは起動できません。
途中にNeovimを起動させるシェルスクリプトを噛ませてもいいのですが、都合のいいことにsnapはアプリケーション・エイリアスという機構を持っており、Snapパッケージ内に含まれるコマンドの別名を作ることができます。これを使ってnvimのエイリアスとしてeditorを作れば、無事Neovimを起動することができます。
元に戻したいときは
sudo update-alternatives --remove editor /snap/bin/nvim
sudo snap unalias editor
注意
他のSnapパッケージをAlternativesで利用する時も同じ方法が使えますが、コマンド名の衝突にはくれぐれも気を付けてください。
終わりに
初めての記事なので、至らない点等あれば指摘していただけるとありがたいです。
ここまで読んでいただきありがとうございました。