crontabファイルを開くエディターを指定するにはどうすればよいですか?「export EDITOR = vi」が機能しない


103

Red Hat Enterprise Linux 5を使用していますが、vimエディターでcrontabファイルを編集するように設定します。

を実行するとecho $EDITOR、vimが発生します。しかし、を実行すると crontab -e、別のエディターが表示されます。

回答:


170

VISUAL環境変数が別の値に設定されている可能性が非常に高いです。試してください:

export VISUAL=vi

6
変数の設定export VISUAL=vimsetenv VISUAL "vim"tcshシェルの場合)は非常にうまくいきます!!
antonjs

9
@ lwpro2:VISUALが設定されていない場合、EDITOR変数が使用されます。しかしVISUALに優先しEDITORます。
bmk 2013年

crontabが1人のユーザーを持つ複数のユーザーによって管理されている場合は、サブシェルでこれを行うことをお勧めします。これにより、デフォルトのエディターがそのまま残ります。
トーマス・ベーム

nanoではなくviで開いたときにファイルが異なる理由は何ですか?
dardub

76

男を引用するには:

-eオプションは、VISUALまたはEDITOR環境変数で指定されたエディターを使用して現在のcrontabを編集するために使用されます

ほとんどの場合crontab -e、Xから実行する場合はVISUAL設定済みです。それが使用されています。これを試して:

VISUAL=vi crontab -e

それはちょうど私のために働いた:)


説明をありがとう、確かに私はXから自分の端末を実行しています
。– antonjs

1
あなたがsudoでcrontab -eを実行している場合の最良のオプション:)sudo VISUAL=vi crontab -e
MediaVince

42

上記の方法が機能しない場合(私のUbuntu 13.04インストールでは機能しなかったため)、次のことを試してください。

いくつかの代替方法があります。

1)select-editorを実行します

select-editor

2)ファイルを手動で編集します。~/.selected_editorお好みのエディターを指定します。このオプションを使用すると、エディターのパラメーターを指定できます。

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"

3)コマンドラインで次のコマンドを使用してその場で指定できます。

env VISUAL="emacs -nw" crontab -e

1
nanocrontabを初めて開いたときに、誤ってデフォルトのエディターを設定していました。次にsudo select-editor、それを機能させるために使用する必要がありました。select-editorうまくいかない場合のヒント
2013

2
個人設定には「sudo」を使用しないでください。通常のコンピュータの使用のために高架の操作にとどまることを強制するものを壊すかもしれません。sudo(高度なコマンド)は、個人領域(〜ユーザー領域)外のシステム全体の機能を操作するためのものです。
LDジェームズ

5

フルパスを使用する必要があると思います:

export EDITOR=/usr/bin/vim

3
トラップはVISUAL最初にチェックされることです。したがって、SSHセッションにはあなたのような完全に健全なアドバイスがうまく機能し、デスクトップボックスで不思議なことに失敗します。
9000

説明どおりに割り当てながらエクスポートを試みましたが、機能しませんでした。最初に割り当ててからエクスポートすると、次のように機能します。EDITOR = / usr / bin / vi; エクスポートエディター。ここではSSHでSunOSを使用しています。
アラン・

5

以下のコマンドを使用して、VIMエディターで開くことができます。

export VISUAL=vim; crontab -e

注:VIMエディターがサーバーにインストールされていることを確認してください。



2

うまくいかなかった。私はsudoを使用してcrontabを実行しているため、ルートに切り替えて上記の提案を行い、crontabをvimで開きましたが、それでも私のユーザーアカウントからは開かれません。最後にsudo select-editor、ユーザーアカウントから実行しましたが、これでうまくいきました。


1
ユーザー環境を構成するためにsudoを実行する必要がある場合、これは対処すべき問題を示しています。個人用スペースでsudoを実行していて、自分が所有する必要があるファイルへのアクセス権を失っています。次のコマンドを実行して、スペースを確認できますfind ~/ -mount ! -user $(whoami)。次のコマンドを実行すると、問題を修正できますsudo chown -R $(whoami):$(whoami) ~/
LDジェームズ

@LDJamesありがとうございます。結局のところ、rootが所有していたのは.select_editorファイルだけでした。
felwithe 2017

2

これは私のために働きました:

EDITOR="/usr/bin/vim"
export EDITOR

これを〜/ .bash_profileまたは〜/ .bashrcに追加して、現在のユーザーに対してこれを有効にします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.