crontabを編集するときに構文の強調表示はありません。

crontabを編集するときに構文の強調表示はありません。

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 oncrotabの編集中に使用した場合、変更はありません。

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.profilecrontab/etc/alternatives/dmesg -T

alias crontab='EDITOR=vim crontab'

それはすべてです。 ✔:)

答え4

これは私にとって効果的です。

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

~/.bash_profile現在のユーザーに対してこの機能を有効にするには、このオプションを追加してください。すべてのユーザーに対してこの機能を有効にするには、
このオプションを追加してください/etc/profile/any_file_you_like

関連情報