Wie gebe ich einen Editor zum Öffnen der Crontab-Datei an? "Export EDITOR = vi" funktioniert nicht

102

Ich verwende Red Hat Enterprise Linux 5 und möchte den vim-Editor so einstellen, dass die crontab-Datei bearbeitet wird.

Wenn ich renne echo $EDITOR, bekomme ich vim. Aber wenn ich laufe crontab -e, bekomme ich einen anderen Editor.

antonjs
quelle

Antworten:

170

Sehr wahrscheinlich, dass Ihre VISUALUmgebungsvariable auf etwas anderes gesetzt ist. Versuchen:

export VISUAL=vi
bmk
quelle
6
Einstellungsvariable export VISUAL=vim( setenv VISUAL "vim"für tcsh Shell) es funktioniert sehr gut!
Antonjs
9
@ lwpro2: Wenn VISUALnicht gesetzt, wird die EDITORVariable verwendet. Hat VISUALaber Vorrang vor EDITOR.
BMK
Wenn die Crontab von mehreren Personen mit einem Benutzer verwaltet wird, empfehle ich, dies in einer Subshell zu tun, damit der Standardeditor an Ort und Stelle bleibt.
Thomas Böhm
Irgendwelche Ideen, warum die Datei anders ist, wenn sie in vi statt in nano geöffnet wird?
Dardub
75

Um den Mann zu zitieren:

Mit der Option -e wird die aktuelle Crontab mit dem in den Umgebungsvariablen VISUAL oder EDITOR angegebenen Editor bearbeitet

Wenn Sie crontab -evon X aus laufen , haben Sie meistens VISUALfestgelegt. das wird benutzt. Versuche dies:

VISUAL=vi crontab -e

Es hat nur bei mir funktioniert :)

9000
quelle
Vielen Dank für die Erklärung. In der Tat
leite
1
Beste Option, wenn Sie crontab -e mit sudo sudo VISUAL=vi crontab -e
ausführen
42

Wenn die oben genannten Methoden nicht funktionieren (da sie bei meiner Ubuntu 13.04-Installation nicht funktionierten), versuchen Sie:

Es gibt verschiedene Möglichkeiten:

1) Führen Sie den Select-Editor aus

select-editor

2) Bearbeiten Sie die Datei manuell: ~/.selected_editorGeben Sie Ihren bevorzugten Editor an. Mit dieser Option können Sie Editorparameter angeben.

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

3) Sie können im laufenden Betrieb in der Befehlszeile Folgendes angeben:

env VISUAL="emacs -nw" crontab -e
LD James
quelle
1
Ich habe nanobeim ersten Öffnen von crontab versehentlich den Standardeditor auf gesetzt . Dann musste ich es benutzen sudo select-editor, um es zum Laufen zu bringen. Ein Tipp, wenn nur select-editornicht funktioniert
244an
2
Sie sollten "sudo" nicht für Ihre persönliche Konfiguration verwenden. Dies kann zu Problemen führen, die Sie dazu zwingen, bei normaler Computernutzung im erhöhten Betrieb zu bleiben. Der sudo (erhöhter Befehl) dient zum Arbeiten mit systemweiten Funktionen außerhalb Ihres persönlichen Bereichs (~ Benutzerbereich).
LD James
5

Ich denke, Sie müssen möglicherweise den vollständigen Pfad verwenden:

export EDITOR=/usr/bin/vim
Alex Howansky
quelle
3
Die Falle ist, dass VISUALzuerst geprüft wird. Ein perfekter Rat wie Ihr eignet sich also gut für eine SSH-Sitzung und schlägt auf mysteriöse Weise auf einer Desktop-Box fehl.
9000
Ich habe versucht, während der Zuweisung wie beschrieben zu exportieren, aber es hat nicht funktioniert. Das erstmalige Zuweisen und anschließende Exportieren funktionierte für mich wie folgt: EDITOR = / usr / bin / vi; EDITOR exportieren. Verwenden Sie SunOS unter SSH hier.
Alan
5

Sie können den folgenden Befehl verwenden, um ihn im VIM-Editor zu öffnen.

export VISUAL=vim; crontab -e

Hinweis: Stellen Sie sicher, dass der VIM-Editor auf Ihrem Server installiert ist.

Parveen Shukhala
quelle
3

export EDITOR=vim arbeitete für mich

Chema
quelle
2

Es hat bei mir nicht funktioniert. Ich habe crontab mit sudo ausgeführt, also bin ich zu root gewechselt, habe die obigen Vorschläge gemacht und crontab wurde in vim geöffnet, aber immer noch nicht von meinem Benutzerkonto. Schließlich lief ich sudo select-editorvom Benutzerkonto und das hat den Trick getan.

felwithe
quelle
1
Wenn Sie sudo ausführen müssen, um Ihre Benutzerumgebung zu konfigurieren, bedeutet dies Probleme, die Sie beheben sollten. Sie haben sudo in Ihrem persönlichen Bereich ausgeführt und die Berechtigung für Dateien verloren, die Ihnen gehören sollten. Sie können Ihren Speicherplatz überprüfen, indem Sie Folgendes ausführen : find ~/ -mount ! -user $(whoami). Sie können das Problem beheben, indem Sie Folgendes ausführen : sudo chown -R $(whoami):$(whoami) ~/.
LD James
@LDJames Du hattest Recht, danke. Wie sich herausstellte, war es nur die .select_editor-Datei, die root gehörte.
felwithe
2

Das hat bei mir funktioniert:

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

Fügen Sie dies zu ~ / .bash_profile oder ~ / .bashrc hinzu, um dies für den aktuellen Benutzer zu aktivieren.

Gehen
quelle