web-dev-qa-db-ja.com

visudoエディターをnanoからvimに変更するには?

visudoを使用すると、常にnanoエディターで開きます。エディターをvimに変更する方法は?

104
dedunumax

タイプ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

vim.basicまたはvim.tiny選択番号を見つけます。入力してEnterキーを押します。次回visudoを開くと、エディターはvimになります

177
dedunumax

serでデフォルトで別のエディターを使用したい場合は、

export EDITOR=vim; 

.profile(またはbashとは異なるシェルを使用している場合は、スタートアップ環境を保持する場所)で。ログアウトしてログインし、変数が設定されていることを確認します。

[romano:~] % env | grep EDI
EDITOR=vim

これで、エディターを呼び出す(および適切に作成された)プログラムはすべて、ユーザーのvimにデフォルト設定されます。

コメントで@EliahKaganに気づいたように(ありがとう!)、これはvisudoに対しては機能しません:あなたがするときにSudoを使用して呼び出すことになっているので

Sudo visudo

Sudoコマンドは、特権を昇格する前にほとんどの環境変数をサニタイズ(読み取り:削除)します。これは良いことです。そのため、変更はvisudoに浸透しません。それでも機能させるには、次のように呼び出す必要があります。

Sudo EDITOR=vim visudo

最後に、ここでヒントを示したように、/etc/sudoersファイルの上部近くに次のような行を追加することもできます。

Defaults editor=/usr/bin/vim 

警告:sudoers構成を変更するときは、ルートシェル(Sudo -i)を使用してターミナルを開いたままにします。あなたは決して知らない、そしてあなたは簡単にルートから締め出されることができる。

36
Rmano