「ジョー独自のエディタ」は私には自然には使えません。nano または vim を使用するように変更するにはどうすればよいでしょうか?
私はもう試した
export EDITOR=nano
しかし、尊重されていないようです。私もvisudo
これを尊重したいと思います。
答え1
システム レベルでデフォルトのエディターを変更するには:
sudo update-alternatives --config editor
その後、画面の指示に従います。
答え2
アカウントのデフォルトエディターを変更する方法は環境変数を設定しますEDITOR
。それでもうまくいかない場合は、何か異常なことをしています。 も定義していないか確認するかVISUAL
、定義している場合は、2つの変数に同じ値を設定します(VISUAL と EDITOR – 違いは何ですか?)。これらの行を~/.profile
(注:しない~/.bashrc
):
EDITOR=nano
VISUAL=$EDITOR
export EDITOR VISUAL
下DebianポリシーすべてのプログラムはデフォルトのエディターをサポートしEDITOR
、設定するはずです。VISUAL
Debianとその派生版では、代替メカニズムシステム全体のデフォルトエディタを設定するには、スティーブ・ロビラードが述べたように: update-alternatives --config editor
root として実行します。
答え3
上記の解決策は機能しますが、スクリプト化できません。これをスクリプト化可能な(非対話型の)方法で実行したい場合は、--set を使用する必要があります。
# update-alternatives --set editor /usr/bin/vim.basic
選択肢のリストを取得するには、次のようにします。
$ update-alternatives --list editor
答え4
私もまったく同じ問題に遭遇しましたが、update-alternatives 経由で設定しても Raspbian Buster (10.2) ではうまくいきませんでした。vim.basic をデフォルトのエディターとして設定しましたが (update-alternatives --config editor を使用して手動で設定)、優先度は 30 しかありませんでしたが、nano の優先度は 40 でした。
root@rsyslog:~/scripts# 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 15 manual mode
Press <enter> to keep the current choice[*], or type selection number:
いつものプロファイル ファイルとドット ファイルを調べてみると、次のファイルを見つけました。
root@rsyslog:~/scripts# cat /root/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"
root@rsyslog:~/scripts#
vim.basicを設定した後/usr/bin/セレクトエディターファイルにはvim.basicが含まれていました:
root@rsyslog:~/scripts# /usr/bin/select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 2
root@rsyslog:~/scripts# cat /root/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"
root@rsyslog:~/scripts#
これで、再び VIM で crontab -e を実行できるようになりました :)。