crontabを編集するときに構文を強調しない理由を特定しようとしています。
私は両方とも持っていて、$EDITOR
次$VISUAL
のように設定しました/usr/bin/vim
。
> echo $EDITOR
/usr/bin/vim
> echo $VISUAL
/usr/bin/vim
crontabをファイルに保存してvimを使って編集すると、構文の強調表示が有効になります。
> crontab -l > saved_cronab
> /usr/bin/vim saved_crontab
:syntax on
crotabの編集中に使用した場合、変更はありません。
crontab編集を使用するときにハイライトを有効にする方法はcrontab -e
?
答え1
vimはsaving_crontabファイルがcrontabであることを知りません。したがって、crontabの特別な構文強調機能は使用できません。ファイル形式をcrontabに設定することは私にとって効果的でした。私は以下を使用しました:
:set ft=crontab
次のコマンドを使用して、ファイル形式の値を表示できます。
:set ft?
答え2
export EDITOR VISUAL
この変数()をエクスポートしましたか?
答え3
受け入れられた回答IMHOは正しく説明していないので、人々がそれを理解するのに役立ついくつかの追加情報があります。
crontab
指定されたエディタの選択が拒否される理由はまだ理解されていません。
sudo update-alternatives --config editor
私:
代替エディタには4つの選択肢があります(/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
実際、すべてがvim.basicを正しく指しています。
#> ll /usr/bin/editor lrwxrwxrwx 1 root root 24 Oct 20 2014 /usr/bin/editor -> /etc/alternatives/editor #> ll /etc/alternatives/editor lrwxrwxrwx 1 root root 18 Jun 20 2016 /etc/alternatives/editor -> /usr/bin/vim.basic #> ll /usr/bin/vim.basic -rwxr-xr-x 1 root root 2.4M Nov 24 2016 /usr/bin/vim.basic #> ll /usr/bin/vim lrwxrwxrwx 1 root root 21 Oct 20 2014 /usr/bin/vim -> /etc/alternatives/vim
しかし、crontab
まだ気にしません。だから正確に指摘したようにデスネイダー解決策は、環境crontab
変数を介してそれが何であるかを明示的に通知することです$EDITOR
。
orをexport
使用してこれを行うことは可能ですが、これが無視する必要がある唯一のエイリアスであることを考慮すると、動作にカスタムエイリアスが必要な恥ずかしさを避けるためにエイリアスを作成することをお勧めします(for doesのように)。.bashrc
.profile
crontab
/etc/alternatives/
dmesg -T
alias crontab='EDITOR=vim crontab'
それはすべてです。 ✔:)
答え4
これは私にとって効果的です。
EDITOR="/usr/bin/vim"
export EDITOR
~/.bash_profile
現在のユーザーに対してこの機能を有効にするには、このオプションを追加してください。すべてのユーザーに対してこの機能を有効にするには、
このオプションを追加してください/etc/profile/any_file_you_like
。