CUBE SUGAR CONTAINER

技術系のこと書きます。

Ubuntu 16.04 LTS のデフォルトエディタを nano から変更する

Ubuntu 16.04 LTS を使っていたところ、デフォルトのエディタが nano になっていた。 普段 nano は使っていないので vim に変更したい、というのが今回のお話。

使った環境は次の通り。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
$ uname -r
4.4.0-64-generic

下準備として、ひとまず vim をインストールしておく。

$ sudo apt-get install -y vim

デフォルトのエディタが nano になってしまう

例えば visudo コマンドとかを実行すると nano が起動してしまう。

$ sudo visudo

起動するエディタを指定して実行する

システムが起動するエディタは環境変数 EDITOR で指定できる。 ただし sudo コマンドと組み合わせて使うときは注意が必要で -E オプションもつけなきゃいけない。 このオプションがあると特権ユーザの権限で visudo コマンドを実行するときに環境変数を引き継ぐことができる。

$ EDITOR=vim sudo -E visudo

デフォルトのエディタを変更する

ただ、さっきのように毎回環境変数を指定したり -E オプションをつけて…とするのはめんどくさい。 なのでデフォルトのエディタを変更してしまおう。

デフォルトのエディタを変更するには update-alternatives コマンドに --config editor オプションを指定する。 選ぶことのできるエディタが選択肢の形で表示されるので、どれを使うか番号を入力しよう。

$ 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    10        manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode

これで、特に環境変数などを指定することなく vim が起動するようになる。

$ sudo visudo

めでたしめでたし。