背景
私は普段、 viの操作を覚えるのが面倒なので テキストエディタにはシンプルに操作できるnanoを使用している。
しかしvisudo
においてはデフォルトでviが使われてしまうため、これをnanoに変更したい。
google検索で出てくる方法だけでは解決しなかったので、記事として残すことにする。
課題
sudo EDITOR=nano visudo
と明示的に指定すればnanoが起動するものの、毎回指定するのが手間。
調べると、環境変数の変更やupdate-alternatives
の設定を変更するといった方法が出てくるが、これらでは解決ができなかった。
以下事前に試していたこと
- ユーザー、rootそれぞれの
.bashrc
に以下を追記し、source
コマンドで実行export SUDO_EDITOR=nano
export EDITOR=nano
- 以下のコマンドを実行し、
editor
コマンドでnanoが開くように変更
$ sudo update-alternatives --install /usr/bin/editor editor bin/nano 100
$ sudo update-alternatives --config editor
There is 1 program that provides 'editor'.
Selection Command
-----------------------------------------------
*+ 1 /usr/bin/nano
Enter to keep the current selection[+], or type selection number:
解決方法
ChatGPT o3-miniに質問したら一発で正しい回答が得られた。
visudoの起動オプション(EDITOR=nano
など)は、visudo
の設定ファイルである/etc/sudoers
内でデフォルト値を指定できる模様。
-
一時的にnanoでvisudoを起動する
sudo EDITOR=nano visudo
-
sudoersファイルにエディタの指定を追加する
visudoで開いたファイル内に、以下の行を追加。Defaults editor=/usr/bin/nano
※nanoのパスは通常
/usr/bin/nano
だと思われるが、念の為which nano
で確認しておくことを推奨。 -
設定の保存と終了
変更を保存して終了すれば、今後は単に以下のコマンドを実行するだけでnanoが起動するはず。sudo visudo
うまく行かない場合、冒頭に述べた環境変数の設定やupdate-alternatives
の設定も合わせて試すと良い。
参考文献
余談だが、google検索するとnanoからviに変える記事ばかりが引っかかった。
nanoは少数派なのかなぁ…