¿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.

Respuestas:


170

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

export VISUAL=vi

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í :)


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

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

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.



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ó.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.