0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

/usr/bin/editorにSnapパッケージ版のNeovimを指定できるようにする。

Last updated at Posted at 2024-12-30

はじめに

私は最初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で利用する時も同じ方法が使えますが、コマンド名の衝突にはくれぐれも気を付けてください。

終わりに

初めての記事なので、至らない点等あれば指摘していただけるとありがたいです。
ここまで読んでいただきありがとうございました。

参考

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?