Sudo visudo
を実行する場合、デフォルトのエディターはnano
です。vi
またはvim
に変更したい。
私はすでにvim
をデフォルトのエディターにし、vim.desktop
ファイルを~/.local/share/applications/
に配置し、いずれかを正しく編集することで、gedit
の代わりに使用してphp、.txt、.c、および.hファイルを開きます~/.local/share/applications/mimeapps.list
または/etc/gnome/defaults.list
。ただし、明らかにこれはnano
には適用されません。
どんな手掛かり ?
問題は、nano
に適用されないことではなく、シェルに適用されないことです。
VISUAL
環境変数を設定するだけです:
export VISUAL=vim
これも〜/ .bashrcを追加して永続的にします。
一般にvimを使用しているように見えるので、VISUAL
とEDITOR
の両方を設定します。
export VISUAL="vim"
export EDITOR="$VISUAL"
より多くのPOSIX-correct
VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR
nano
は、1つまたは両方の変数の値だったと思います。
Visudoでエディターを実際に使用するには、Sudo
が通常環境変数を保持しないことを処理する必要があります。オプション-E
はそれを変更します。
Sudo -E visudo
ここに-E
がなければ、デフォルトのnano
になります
*.desktop
またはmime*
という名前のファイルが存在するずっと前に使用されていた2つの変数。
(そして印象的なことは、実際にcommon標準として使用されていたことです。)
Ubuntuでは、システムのデフォルトはSudo update-alternatives --config editor
で設定されているようです。現在の関連付けを変更するメニューが表示されます。
man visudo
のセクションENVIRONMENT
を参照してください:
VISUAL Invoked by visudo as the editor to use
EDITOR Used by visudo if VISUAL is not set
この回答 で説明されているように、追加
Defaults editor=/path/to/editor
sudoersファイル に。
注:これは、編集中のファイルにDefaults editor=/path/to/editor
行が含まれているか、それを含むファイルが含まれている場合にのみ機能します。
例:visudo -f /etc/sudoers.d/my_sudoers_extension
はデフォルトでNanoになります。
Nanoを使用する予定がない場合は、単にnanoを削除することもできます。次に、システムはvi/vimをデフォルトとして使用します。
Sudo apt-get purge nano
公式の答えではないことは知っていますが、Ubuntuをインストールした後の最初のコマンドの1つです。