Comment spécifier un éditeur pour ouvrir le fichier crontab? "Export EDITOR = vi" ne fonctionne pas

103

J'utilise Red Hat Enterprise Linux 5 et je souhaite configurer l'éditeur vim pour éditer le fichier crontab.

Si je cours echo $EDITOR, je reçois vim. Mais quand je cours crontab -e, j'ai un éditeur différent.

Antonjs
la source

Réponses:

170

Très probable que votre VISUALvariable d'environnement soit définie sur autre chose. Essayer:

export VISUAL=vi
bmk
la source
6
réglage de la variable export VISUAL=vim( setenv VISUAL "vim"pour le shell tcsh) cela fonctionne TRÈS BIEN !!
antonjs
9
@ lwpro2: Si elle VISUALn'est pas définie, la EDITORvariable est utilisée. Mais VISUALa la priorité sur EDITOR.
bmk
Si le crontab est géré par plusieurs personnes avec un seul utilisateur, je recommande de le faire dans un sous-shell, de sorte que l'éditeur par défaut reste en place.
Thomas Böhm
Des idées pour lesquelles le fichier est différent lorsqu'il est ouvert dans vi au lieu de nano?
dardub
76

Pour citer l'homme:

L'option -e est utilisée pour éditer la crontab courante à l'aide de l'éditeur spécifié par les variables d'environnement VISUAL ou EDITOR

Le plus souvent, si vous exécutez à crontab -epartir de X, vous avez VISUALdéfini; c'est ce qui est utilisé. Essaye ça:

VISUAL=vi crontab -e

Cela a juste fonctionné pour moi :)

9 000
la source
Merci pour l'explication, en effet
j'exécute
1
Meilleure option si vous exécutez crontab -e avec sudo :)sudo VISUAL=vi crontab -e
MediaVince
42

Si les méthodes ci-dessus ne fonctionnent pas (car elles ne fonctionnent pas sur mon installation Ubuntu 13.04), essayez:

Il existe plusieurs moyens alternatifs:

1) Exécutez select-editor

select-editor

2) Editez manuellement le fichier: ~/.selected_editorspécifiez votre éditeur préféré. Avec cette option, vous pouvez spécifier les paramètres de l'éditeur.

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

3) Vous pouvez spécifier à la volée sur la ligne de commande avec:

env VISUAL="emacs -nw" crontab -e
LD James
la source
1
J'étais par erreur en train de configurer l'éditeur par défaut nanolors de la première ouverture de crontab. Ensuite, j'ai dû utiliser sudo select-editorpour le faire fonctionner. Un conseil si seulement select-editorne fonctionne pas
244an
2
Vous ne devez pas utiliser "sudo" pour votre configuration personnelle. Cela pourrait casser des choses, vous obligeant à rester à un fonctionnement élevé pour une utilisation normale de l'ordinateur. La commande sudo (commande élevée) sert à travailler avec des fonctionnalités à l'échelle du système en dehors de votre espace personnel (~ zone utilisateur).
LD James
5

Je pense que vous devrez peut-être utiliser le chemin complet:

export EDITOR=/usr/bin/vim
Alex Howansky
la source
3
Le piège est qu'il VISUALest vérifié en premier. Ainsi, un conseil parfaitement judicieux comme le vôtre fonctionne bien pour une session SSH et échoue mystérieusement sur un ordinateur de bureau.
9000
J'ai essayé d'exporter tout en attribuant comme décrit, mais cela n'a pas fonctionné. En attribuant d'abord, puis en exportant, cela a fonctionné pour moi, comme ceci: EDITOR = / usr / bin / vi; Export EDITOR. Utiliser SunOS sous SSH ici.
Alan le
5

Vous pouvez utiliser la commande ci-dessous pour l'ouvrir dans l'éditeur VIM.

export VISUAL=vim; crontab -e

Remarque: veuillez vous assurer que l'éditeur VIM est installé sur votre serveur.

Parveen Shukhala
la source
3

export EDITOR=vim travaillé pour moi

Chema
la source
2

Cela ne fonctionnait pas pour moi. J'exécute crontab avec sudo, donc je suis passé à root, j'ai fait les suggestions ci-dessus et crontab s'ouvrirait dans vim, mais ce ne serait toujours pas le cas à partir de mon compte utilisateur. Enfin, j'ai couru à sudo select-editorpartir du compte utilisateur et cela a fait l'affaire.

felwithe
la source
1
Si vous devez exécuter sudo pour configurer votre environnement utilisateur, cela signifie des problèmes que vous devez résoudre. Vous avez exécuté sudo sur votre espace personnel et perdu l'autorisation sur les fichiers qui devraient vous appartenir. Vous pouvez vérifier votre espace en cours d' exécution: find ~/ -mount ! -user $(whoami). Vous pouvez corriger le problème en cours d' exécution: sudo chown -R $(whoami):$(whoami) ~/.
LD James
@LDJames Vous aviez raison, merci. En fait, c'était juste le fichier .select_editor qui appartenait à root.
felwithe
2

Cela a fonctionné pour moi:

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

Ajoutez ceci à ~ / .bash_profile ou ~ / .bashrc pour l'activer pour l'utilisateur actuel.

Marche
la source