¿Cómo especificar un editor para abrir el archivo crontab? "Export EDITOR = vi" no funciona

103

Estoy usando Red Hat Enterprise Linux 5 y quiero configurar el editor vim para editar el archivo crontab.

Si corro echo $EDITOR, obtengo vim. Pero cuando corro crontab -e, obtengo un editor diferente.

antonjs
fuente

Respuestas:

170

Es muy probable que su VISUALvariable de entorno esté configurada en otra cosa. Tratar:

export VISUAL=vi
bmk
fuente
6
variable de configuración export VISUAL=vim( setenv VISUAL "vim"para tcsh shell) funciona MUY BIEN !!
antonjs
9
@ lwpro2: Si VISUALno se establece EDITOR, se usa la variable. Pero VISUALtiene precedencia sobre EDITOR.
bmk
Si el crontab es administrado por varias personas con un usuario, recomiendo hacerlo en una subcapa, para que el editor predeterminado permanezca en su lugar.
Thomas Böhm
¿Alguna idea de por qué el archivo es diferente cuando se abre en vi en lugar de nano?
dardub
76

Para citar al hombre:

La opción -e se usa para editar el crontab actual usando el editor especificado por las variables de entorno VISUAL o EDITOR

La mayoría de las veces, si corres crontab -edesde X, has VISUALconfigurado; eso es lo que se usa. Prueba esto:

VISUAL=vi crontab -e

Simplemente funcionó para mí :)

9000
fuente
Gracias por la explicación, de hecho estoy ejecutando mi terminal desde X.
antonjs
1
La mejor opción si está ejecutando crontab -e con sudo :)sudo VISUAL=vi crontab -e
MediaVince
42

Si los métodos anteriores no funcionan (ya que no funcionaron en mi instalación de Ubuntu 13.04) intente:

Hay varias formas alternativas:

1) Ejecute el editor de selección

select-editor

2) Edite manualmente el archivo: ~/.selected_editorespecifique su editor preferido. Con esta opción puede especificar los parámetros del editor.

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

3) Puede especificar sobre la marcha en la línea de comandos con:

env VISUAL="emacs -nw" crontab -e
LD James
fuente
1
Por error, configuré el editor predeterminado nanoal abrir crontab por primera vez. Luego tuve que usar sudo select-editorpara que funcionara. Un consejo si select-editorno funciona
244an
2
No debe utilizar "sudo" para su configuración personal. Podría romper las cosas y obligarlo a permanecer en un funcionamiento elevado para el uso normal de la computadora. El sudo (comando elevado) es para trabajar con funciones de todo el sistema fuera de su área personal (~ área de usuario).
LD James
5

Creo que es posible que debas usar la ruta completa:

export EDITOR=/usr/bin/vim
Alex Howansky
fuente
3
La trampa es la que VISUALse revisa primero. Entonces, un consejo perfectamente sólido como el suyo funciona bien para una sesión SSH y misteriosamente falla en una caja de escritorio.
9000
Intenté exportar mientras asignaba como se describe, pero no funcionó. Al asignar primero y luego exportarlo funcionó para mí, así: EDITOR = / usr / bin / vi; EDITOR de exportación. Usando SunOS bajo SSH aquí.
Alan
5

Puede usar el siguiente comando para abrirlo en el editor VIM.

export VISUAL=vim; crontab -e

Nota: asegúrese de que el editor VIM esté instalado en su servidor.

Parveen Shukhala
fuente
3

export EDITOR=vim trabajó para mi

Chema
fuente
2

No me estaba funcionando. Ejecuté crontab con sudo, así que cambié a root, hice las sugerencias anteriores y crontab se abriría en vim, pero aún así no lo haría desde mi cuenta de usuario. Finalmente corrí sudo select-editordesde la cuenta de usuario y eso funcionó.

felwithe
fuente
1
Si tiene que ejecutar sudo para configurar su entorno de usuario, eso significa problemas que debe abordar. Ha ejecutado sudo en su espacio personal y ha perdido el permiso para los archivos que deberían ser de su propiedad. Puede comprobar su espacio mediante la ejecución: find ~/ -mount ! -user $(whoami). Puede corregir el problema ejecutando: sudo chown -R $(whoami):$(whoami) ~/.
LD James
@LDJames Tenías razón, gracias. Resulta que era solo el archivo .select_editor que era propiedad de root.
felwithe
2

Esto funcionó para mí:

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

Agregue esto a ~ / .bash_profile o ~ / .bashrc para habilitarlo para el usuario actual.

Caminar
fuente