りなっくすとらずぱい!

Raspberry Pi初心者に向けた各コマンドの説明、プログラムの作り方について紹介しています!

update-alternativesコマンドでデフォルトのエディタを設定する

f:id:ibuquicallig:20190512033743p:plain

この記事ではupdate-alternativesコマンドのを使用して、デフォルトのエディタを変更する方法について解説しています。

update-alternatives コマンド

update-alternativesコマンドでは、あるコマンドに対して、実行するコマンドのデフォルト値を設定することができます。

例えば、git commitを実行したときにコミットコメントの入力を求められます。その時にLinux側ではeditorコマンドを実行してコミットメッセージを要求してきます。その時にeditorコマンドに対してデフォルトのエディタ(vim, emacs, nanoなど)を設定することができます。

多彩に管理することができるこのコマンドのようですが、マシンの初期設定を行っているときにデフォルトのエディタを変更するときなんかに使われます。

Raspberry Piではeditorコマンドに設定されているコマンドがnanoとなっています。扱いやすいエディタですがいつも使い慣れているエディタのほうがいいですよね!今回はエディタの変更方法に関して例を交えて紹介します。

コマンドを実行

以下のコマンドを実行することで、デフォルトのエディタの設定を進めることができます。

$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice[*], or type selection number: _

出力される内容は書く環境によって異なりますが、上記はRaspberry Piで普通のvimのみインストールされている状態です。

Selection 0の行に*とありますが、これが現在設定されているデフォルトのコマンドとなっています。nanoが指定されていますね。この状態でeditorコマンドを実行するとnanoが代わりに実行されます。

type selection number: _と番号の入力を求められているので、希望のコマンドの行の番号を入力します。やっぱり現在のままでいいや、という場合にはそのままエンターキーを押すかCtrl + Cで終了します。

設定が完了したら、editorコマンドを実行して指定したエディタが起動するかを確認して完了です。git commitを実行したときのエディタもちゃんとこれで変わります。

bin内で自分でシンボリックリンクを作成するよりも対話的でわかりやすいですね!

(補足)ちょっとほかの設定値なんかも見てみる

update-alternatives --configまで入力してタブキーを押すことで設定できるコマンドの一覧を表示することができます。その中で面白いのがviviewコマンドです。中身を見てみると、

$ sudo update-alternatives --config vi
There are 2 choices for the alternative vi (providing /usr/bin/vi).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/vim.basic   30        auto mode
  1            /usr/bin/vim.basic   30        manual mode
  2            /usr/bin/vim.tiny    15        manual mode

となっており、代わりにvimが実行されるようになっています。おそらくインストールの時点で上書きされてしまっているのでしょう。確かにviを実行してみるとVIM - Vi IMprovedの画面が表示されます。わざわざviコマンドを使用することもないのでこれは知りませんでした。。。

/usr/bin/viを参照してみても実体はただのシンボリックリンクでどうやらRaspberry Piにはviコマンドはインストールされていないようです!代わりに最初からvim.tinyは使用できました。どんなOSでもbashコマンドのように最初からインストールされているものだと思っていたのですがこれは意外でした🤔

参考

以下のサイトの情報を引用・参考にしました。