ubuntuのvisudo のエディタがnano になってしまう。visudo って書いてあるのにnanoが起動する。viXXXってコマンドでnano起動するの何なの。と思ったりした。
環境変数EDITORで何とかなることもあるんだけど,毎回やるのも面倒だしアップデートかかる度に書き戻されることがある気がする.
ちゃんと解決する
標準のコマンドエディタは alternativesという機構で管理されている.altenativesは同様のソフトウェアがあるとき、どれを使うかを事前決定しておく機構。たとえばJavaで使われるSun Java のJDKにするか Open Java のJDKにするか。とか。
sudo update-alternatives --config editor #alternativesでeditorを更新するコマンド
じっさいやってみた
エディタを変更してみると複数の候補があるのが分かる.
takuya@atom:~$ sudo update-alternatives --config editor There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path 優 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
通常vimに設定。 nano の良さが正直分からない
設定が変わったことを確認
takuya@atom:~$ sudo update-alternatives --config editor There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path 優 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:
そのほかの解決方法
visudo する際に,環境変数EDITORを指定して起動する
EDITOR=/usr/bin/vi visudo
または
環境変数EDITORを設定して起動する
export EDITOR=/usr/bin/vim;sudo visudo
但し、環境変数を使う方法は,alternativesが動いてるときはうまく出来なかった
alternativesは実際にはsynlink
alternativesは/etc/alternativesにあるショートカットで管理されている.詳しくはそのうちエントリに書きます.