Cambiar el editor de crontab predeterminado

140

Estoy tratando de cambiar el editor predeterminado de nanoa vim.

He ejecutado los siguientes comandos:

sudo update-alternatives --config editor

y

update-alternatives --config editor

Ambos ahora salen:

  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

He reiniciado mi sesión ssh y he reiniciado sshd pero crontab -e todavía se abre en nano

¿Qué más necesito hacer?

austinbv
fuente
1
No creo que ninguna de estas respuestas realmente aborde la pregunta, ¿verdad?
geoteoría
Aquí hay una respuesta más extensa: askubuntu.com/questions/977538/…
SDsolar

Respuestas:

121

Pruebe su sesión ssh seguida de

export EDITOR=vim

o posiblemente

export EDITOR=/usr/bin/vim.basic

El formato de configuración de la variable EDITOR depende del shell que esté utilizando.

En Ubuntu, puede configurar la variable de entorno EDITOR al iniciar sesión agregando lo anterior a ~/.profile

Su sesión SSH leerá un archivo similar (si existe) en el host remoto llamado ~/.ssh/environment. Esto tiene que ser definido específicamente por la configuración ssh daemon. Mira man sshd_configy busca PermitUserEnvironmentpara más detalles.

fossfreedom
fuente
1
Esto también funciona en CentOS
machineaddict
¿Alguna razón por la que no quieras usar .bashrc aquí? parece funcionar para mí, o .profile es mejor?
Nate
3
La respuesta del editor de selección a continuación es una mejor respuesta
mcarans
217

Simplemente ejecute select-editor, esto le permitirá elegir el editor que desee.

Mostafa Shahverdy
fuente
99
Mejor respuesta creo que lo que fue elegido. No tengo que cambiar mi perfil de bash para configurar el editor. Verificado al cerrar sesión y volver a iniciar sesión.
Paul Carlton
44
Debería ser la respuesta aceptada. Gracias Mostafa!
DylanYoung
3
¡Definitivamente debería haber sido la respuesta aceptada! ¡Esto ayudó mucho! : D
Fadi
3
Esta fue la única respuesta que funcionó para mí
cjohansson
3
La mejor respuesta. ...
Somos Borg
26

Mi preferencia personal ...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano
Dave
fuente
Me encanta, funcionó lo suficientemente bien para mí después de que las alternativas de actualización no funcionaron.
Cole Busby
55
No sabría qué le pasa a nano a los administradores que no ven valor en aprender comandos vi solo para modificar algunos archivos de configuración.
Max
1
Supongo que hagas lo que quieras en tu propia máquina personal. Pero en una máquina compartida con cualquier otra persona, esta sugerencia esencialmente deshabilita nano para todos los usuarios de una manera que cuando un usuario solicita específicamente nano, obtienen vim en su lugar. ¿Cual es el punto de eso? Si quisieran vim, lo pedirían. Si el problema aquí es que el sistema está configurado para invocar automáticamente nano en alguna circunstancia en la que personalmente prefiera vim, entonces cambie la configuración.
gwideman
13

De "man crontab":

   The -e option is used to edit the  current  crontab  using  the  editor
   specified  by  the  VISUAL  or EDITOR environment variables.  After you
   exit from the editor, the modified crontab will be installed  automati‐
   cally.  If  neither  of  the environment variables is defined, then the
   default editor /usr/bin/editor is used.

¿Quizás tiene la variable de entorno EDITOR establecida en nano?

aureianimus
fuente
13

Si solo desea elegir el editor temporalmente, puede hacer lo siguiente

EDITOR=nano crontab -e

Esto establece la EDITORvariable de entorno para el comando

Luke Madhanga
fuente
11

En mi computadora Ubuntu 12.04, crontabusa el ~/.selected_editorarchivo, que contiene la ruta del editor seleccionado. Editarlo:

nano ~/.selected_editor

Lo he editado directamente o usado select-editor, que es un script para hacer lo mismo. Edite la siguiente línea:

SELECTED_EDITOR="/usr/bin/vim.basic" 

Las personas de IHMO no deberían cambiar nada en / etc o / bin para hacer esto. Es una cuestión de nivel de usuario, no una tarea de todo el sistema.

NormanD
fuente
gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose
2

Estaba teniendo dificultades select-editory update-alternatives, mi solución fue simplemente editar el enlace:

  1. sudo rm /etc/alternatives/editor
  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor ahora abre Vim

Dennis Bellinger
fuente
2

He tenido el mismo problema: crontab -e se basa en select-editor, visudo se basa en la configuración de "alternativas"

Mi solución:

ejecuta ambos comandos como root

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50

# select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/sensible-editor
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [1]: 3
Julian
fuente
Como raíz? Mejor uso sudo(ver, por ejemplo, cuáles son los beneficios de sudo sobre su
Marc Vanhoomissen