crontabのデフォルトのテキストエディターをvimに変更


100

私はubuntu 9.10を使用しており、デフォルトのテキストエディタはnanoです。(皆ではありませんか?)

通常、私crontab -eはすべてをviまたはgeditするだけで問題ありませんが、nanoで開いています。sudo update-alternatives --config editorオプション3(「/usr/bin/vim.basic」)を使用して選択し、vimに変更してみました。これにより、sudoと非sudoが同じように変更されました。しかし、crontab -eまだナノを開きます。何か案は?最大

回答:


124

crontab -eこのコマンドは、環境変数をチェックします$EDITORと、$VISUALそう、デフォルトのテキストエディタのオーバーライドのための...

export VISUAL=vim

または

export EDITOR=vim

トリックを行う必要があります。


6
別のユーザーのcrontabを編集している場合は、使用するenv変数をsudo -E crontab -ewhereでsudo -E指定してください。
MarkHu

89

Ubuntuのでは、実行してみてください:select-editor、対話的に作成します~/.selected_editor

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

私はこれを(sudoとユーザーの下で)試してみましたが、変更したオプションは何でも変更しましたが、もう一度呼び出したときはnano上にありました。とにかくEDITOR env varで修正しましたが、とにかく言及した方がいいと思いました。乾杯
マックスウィリアムズ

4
上記の答えは機能しませんでした...これは機能します。
ミリスナー

2
うん、これは/ usr / bin / sensible-editorによって使用される〜/ .sensible_editorを変更します。エディターを指定する環境変数がない場合、crontabはユーザーごとの構成を許可するため、エディターではなく賢明なエディターを実行するようです。
ウナギghEEz

2
select-editorを実行している@MaxWilliamsは、以前に行った選択を表示しません。これは〜/ .sensible_editorに保存されます。
ウナギghEEz

5
@eelghEEz-という意味~/.selected_editorですか?それが私のシステム上にあり、他の場所で見たものです。
ウィルソンF

12

nanoあなたがそんなに嫌いなら、あなたはちょうどそれをアンインストールすることができます:

sudo apt-get remove nano

crontab次に、デフォルトに次のようにする必要がありますEDITOR(私にとってはそうでしたvim.basic)。


スーパーユーザーアカウントでcronジョブを実行しますが、devアカウントにログインします。だから開発者アカウントから私がする必要がありますsudo crontab -eexport EDITOR=vimスーパーユーザーと開発者アカウントの両方の.bashrc を設定しましたsudo crontab -eが、nanoでまだ開いていました。nanoをアンインストールすると、vimが開きます。ありがとう!
アルン

1
これは私のために働いた唯一のソリューションです。この前に4〜5つのことを試しました:)
チャーリーウィン

OPが示すように、nanoが必要ない場合、これは断然最良のソリューションです。なぜそれが以前に私に起こらなかったのかはわかりません-おそらくcrontabがデフォルトで次に利用可能なエディターにデフォルトになることを知らなかったでしょう!素晴らしい
ルーク

11

からman crontab

-eオプションは、エディターを使用して現在のcrontabを編集するために使用されます
VISUALまたはEDITOR環境変数によって指定されます。お先にどうぞ
エディターを終了すると、変更されたcrontabが自動的にインストールされます
かっこいい。環境変数のどちらも定義されていない場合、
デフォルトのエディター/ usr / bin / editorが使用されます。

に追加~/.bashrc

export EDITOR=vim

4

より良い選択は、エディターの代替を設定することです(1人のユーザーだけでなく):

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100

3
変更を求めなかった他のユーザーの設定を変更する方が良いのはなぜですか?
セビング

3
export EDITOR=vi && crontab -e 

debian squeezeで動作します


2
ちょっとした説明は大いに役立つでしょう。
ChrisF

3
これはEDITOR環境変数を設定し、その後crontabファイルを編集しますが、EDITOR=vim crontab -e同様に機能しますが、一度だけです。
-0x4a6f4672

3

残念ながら、コメントしたり投票したりすることはできません。

Ubuntuでは、構成ファイルが呼び出されます ~/.selected_editor

次のコマンドを使用すると、デフォルトのエディターを再度選択できます。

$ select-editor

ホームディレクトリのファイルを削除することもできます。

$ rm ~/.selected_editor

変数を設定する$VISUALか、機能$EDITORするだけですが、環境で実行されるスクリプトに書き込む場合にのみ持続します。

rcファイルに追加します

$ echo "export VISUAL=/usr/bin/vi" >> ~/.bashrc

しかし、最後のソリューションを使用することはお勧めしません。


推奨しない場合、なぜ提供したのですか?
ラムハウンド

他の人がその方法を好むかもしれないからです。
アンドレ

0

~/.sensible_editorファイルを最適に削除する必要crontab -eがあります。実行すると、優先エディターを選択するように求められます。
それ以降、設定は~/.sensible_editorファイルに記憶されます。


これがなぜ反対票を投じられたのかわからないが、まさに私が必要としているものであり、完璧に機能した。
ロブ・

Ubuntuは知らないようですemacsclient
ceving

-1

Debianの場合:

sudo update-alternatives --config editor command

そして

 ----------------------------------------------------------
06  * 0          /bin/nano            40       
07  1            /bin/nano            40       
08  2            /usr/bin/vim.basic   30        
09  3            /usr/bin/vim.tiny    10        

「2」を選択してEnterキーを押します。とった!


スーパーユーザーへようこそ!質問を注意深く読んでください。あなたの答えは元の質問には答えませ。OPは既にこれを試し(問題になっています)、問題を解決しませんでした。
デビッドポスティル

-1

一番簡単なのは、不要な製品を完全に取り除くことです。他のすべての構成変更は自動的に行われます。

apt-get install vim -y && apt-get remove nano -y


-1

一部のDebianマシンのような古いマシンでは、これも機能し、最もポータブルなソリューションです。

mv /usr/bin/editor /usr/bin/.editor
ln -s $(which vim) /usr/bin/editor

いいえ、/usr/bin手動で何かを台無しにしないでください。これらの場所は管理されてdpkgおり、直接操作しないでください。
-tripleee
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.