Al abrir ciertas aplicaciones desde la terminal para editar rápidamente archivos de configuración son simplemente atajos abriendo un editor de archivos hacia un archivo en una ruta específica como por ejemplo los comandos visudo o crontab.
En algunas ocasiones al instalar un programa o ejecutarlo desde terminal nos abre por defecto un editor de texto que a veces desconocemos o simplemente preferimos otro.
Al abrir este tipo de herramientas realmente lo que se llama es a una variable que guarda el nombre del editor por defecto a utilizar para ello.
Podemos cambiar este editor por el que más se acomode a nuestro gusto, en algunas ocasiones viene por defecto (o lo seleccionamos sin querer) el editor para terminal vim y puede ser algo complejo de usar si no has estudiado su funcionamiento mientras que hay alternativas muchos más sencillas e intuitivas como el editor de texto para terminal nano
La solución es cambiar la variable que contiene este editor (funcionará temporalmente) o asignar el valor a esa variable en el archivo de configuración para el intérprete de comandos en el perfil de nuestro usuario.
Editor de texto por defecto en la terminal
Comprobar editor actual
La variable que contiene este valor se llama EDITOR, algo lógico.
Podemos ver el valor que tiene usando el comando echo de la siguiente forma:
echo $EDITOR
Tal vez pinte una línea en blanco (no se habría definido valor) o nos muestre algo como vi, vim o nano.
Una vez conocido el editor que usamos actualmente podemos proceder directamente a cambiarlo o entrar con algún comando que utilice esta variable para asegurarnos como por ejemplo crontab que nos abrirá el archivo de configuración para programar tareas mediante el programador de tareas cron. Esto lo vemos con el siguiente comando:
crontab -e
Si es abierto con vi o vim podemos salir escribiendo:q luego pulsamos Intro y en el caso que abramos el editor con nano salimos sin guardar con la combinación de teclas ctrl+X.
Cambiar editor de forma temporal
Si solo queremos cambiarlo temporalmente hasta que cerremos la sesión o reiniciemos podemos cambiar la variable directamente.
Esto solo afectará hasta cerrar sesión o reiniciar
Con el usuario que exportamos será a quien se aplique
Como ejemplo cambiaremos la variable para el usuario con el que estamos actualmente:
export EDITOR=”nano -c”
El comando anterior cambiará el editor temporalmente asignando nano como editor. El parámetro -c conseguirá que muestre el número de línea sobre el cual tengamos el cursor
Cambiar editor permanentemente para un usuario
Para cambiar de forma permanente esta variable a solo un usuario podemos añadir la orden anterior al archivo de configuración para nuestro terminal bash (si es otro deberás adaptarlo a este) el cual se encuentra dentro de nuestro directorio de usuario y se llamará .bashrc.
Vamos a editar el perfil de configuración para el usuario laguialinux agregando al final del archivo la línea que exporta la variable. Podemos hacerlo mediante un editor abriendo el archivo o agregándolo con la siguiente orden:
echo ‘export EDITOR=”nano -c”‘ >> ~/.bashrc
Esta línea del comando anterior simplemente escribirá dentro del archivo .bashrc que se exporte la variable al ejecutar un terminal.
Ya tenemos asignada la variable para exportarse solo con este usuario cada vez que ejecutamos un terminal en bash con el.
Cambiar editor permanentemente para root
El proceso es similar al anterior, es decir, se hace igual que para un usuario normal pero necesitarás los privilegios de administrador para poder acceder a su archivo de configuración:
su root
Ahora estamos logueados como usuario root y añadimos exportar la variable del editor al archivo .bashrc así:
echo ‘export EDITOR=”nano -c”‘ >> /root/.bashrc
Cambiar editor permanentemente para todo el sistema y todos los usuarios
En el directorio /etc existe un archivo llamado enviroment el cual guarda ciertas cosas que se ejecutarán en el inicio, entre ellas las variables.
Dentro del archivo /etc/enviroment podemos añadir tantas variables de entorno como necesitemos o gustemos tener. Una forma interesante para hacer global la variable que contiene el editor de texto para el terminal.
Si queremos añadir el editor de texto a esta variable global lo podemos hacer abriendo el archivo para editarlo como administrador:
sudo /etc/enviroment
Una vez dentro añadimos la línea para exportar la variable EDITOR al final del archivo:
export EDITOR=”nano -c”
Hay que tener en cuenta que no se hará efectivo ningún cambio del archivo enviroment hasta reiniciar el entorno gráfico o el equipo