Nano es el editor de textos plano para terminal más sencillo de utilizar, es de código abierto y viene preinstalado en algunos sistemas operativos Linux. Es conocido por ser amigable con el usuario, incluso se puede usar sin la necesidad de leer manuales. Con plano hago referencia a que el texto no tiene ningún tipo de formato, aunque si tiene resaltado de sintaxis, el editor solo maneja texto.
Entre las características más destacadas hay soporte para abrir varios archivos al mismo tiempo; deshacer y rehacer; numerado de líneas; coloreo de sintaxis; buscar y reemplazar con soporte para expresiones regulares; sangrías automáticas; etc. Y es perfecto para usarse en servidores o sistemas que no cuenten con un entorno de escritorio.
Instalación de nano
Para instalar el editor en caso de que nuestro sistema operativo no lo incluya por defecto, seguimos las siguientes instrucciones según el sistema que usemos.
Para Debian/Ubuntu y derivados con APT:
sudo apt install nano
Para Arch Linux y Manjaro:
sudo pamac install nano
Para Fedora:
sudo dnf install nano
Para CentOS:
sudo yum install nano
Para OpenSUSE:
sudo zypper install nano
Para Gentoo:
sudo emerge app-editors/nano
Si no tenemos sudo activado en nuestro equipo lo quitamos de los comandos anteriores.
Cómo usar nano
Lo primero que haremos es ver las diferentes formas de abrir los archivos, después cómo es la navegación, cómo se ejecutan las acciones más comunes y útiles, y cómo funciona el proceso de guardar los archivos.
Combinaciones de teclas
Nano normalmente nos va guiando sobre qué combinaciones de teclas usar, ya que es en la forma que funciona prácticamente todo. Para comprenderlos mejor es necesario conocer el significado de los símbolos que usa, porque algunas teclas están representadas por su símbolo y no por su nombre común con el que aparecen en los teclados.
Representación de teclas:
- ^: Ctrl
- M-: Alt
Podemos obtener más ayuda de todas las combinaciones al usar la combinación Ctrl + G o F1.
Abrir archivos existentes
Existen varias formas de usar nano para abrir archivos. La primera sin sudo para editar archivos comunes, la segunda usando sudo para editar archivos del sistema o root y la tercera para editar varios archivos al mismo tiempo ya sea con sudo o sin sudo. Es importante no usar sudo todo el tiempo porque si un archivo se crea o modifica con este, se cambia de dueño y no podremos editarlo con un usuario común.
Si intentamos abrir un archivo y no tenemos permisos de lectura se abrirá nano en blanco con el título New Buffer y en la parte de abajo al centro nos saldrá el mensaje [ Error reading nombre-de-archivo: Permission denied ].
Editar un archivo
Para abrir un solo archivo como root:
sudo nano nombre-del-archivo.ext
Para abrir un solo archivo común en el que tenemos permisos de escritura:
nano nombre-del-archivo.ext
Cuando abrimos un solo archivo en la parte superior aparece el texto “GNU nano” seguido de la versión del editor, y en la parte central de esa misma barra se muestra la ruta completa al archivo que estamos editando.
Editar varios archivos a la vez
En esta modalidad cada archivo es abierto independientemente, pero al finalizar la edición de uno se continúa con el siguiente en la lista, el número de archivo actual y el número de archivos totales se indica en la barra principal en lugar del texto “GNU nano”, por ejemplo, cuando recién abrimos varios archivos aparece como “[1/5]” si son 5 archivos en total. Justo en el centro de la barra se indica la ruta completa del archivo actual siendo editado.
Para abrir varios archivos al mismo tiempo como root:
sudo nano nombre-de-archivo.ext /ruta/archivo2.ext /tmp/archivo3
Para abrir varios archivos al mismo tiempo con el usuario que estamos usando:
nano archivo1.txt archivo2.ext archivo3
Para cambiar de archivo entre los que se encuentren abiertos usamos las combinaciones Alt + , o Alt + < para ir hacia el archivo anterior y Alt + . o Alt + > para ir al siguiente archivo.
Crear archivos nuevos
Para la creación de un archivo nuevo con el usuario actual usamos el nombre de archivo después del comando nano.
nano nombre-de-archivo-nuevo
Para crear varios archivos nuevos con el mismo comando a la vez:
nano archivo1 archivo2 /tmp/archivo3
Para crear archivos como root anteponemos sudo al comando nano. Al igual que en la edición de archivos, en la creación de archivos también podemos especificar varios archivos al mismo tiempo, estos se identifican en la barra de título con un número de archivo actual separado por una diagonal del total de archivos nuevos, ejemplo: [1/3].
Si navegamos a un directorio donde no tenemos permisos de escritura y tratamos de crear un nuevo archivo ahí nos saldrá el mensaje [ Directory '.' is not writable ] en la parte inferior central del editor.
Navegación
La navegación en el editor es muy sencilla, podemos usar únicamente el teclado, navegar de línea en línea de forma vertical y movernos de carácter por carácter de forma horizontal con las teclas de flecha moviendo el cursor. El cursor también se puede mover con el ratón al hacer clic y al usar el desplazamiento del ratón.
Para navegar de forma rápida de forma vertical de página en página podemos usar las teclas Re Pág y Av Pág. Para ir al principio de la línea donde se encuentra el cursor usamos la tecla Inicio y para ir al final de la misma línea usamos Fin. Diferente al funcionamiento normal de Inicio y Fin que en los navegadores web o editores de texto gráficos que nos desplazan de manera vertical hacia el principio y final de un archivo.
Ir al final de un archivo
Para ir al final de un archivo no podemos usar la tecla Fin, por lo tanto, usamos la combinación de teclas Alt + / o ⇧ Mayús + Fin.
Ir al principio de un archivo
En este caso no se puede usar Inicio, entonces usamos la combinación de teclas Alt + \ o ⇧ Mayús + Inicio.
Ir a una línea en específico
Para ir a una determinada línea usamos Alt + G y escribimos el número de línea. Si la línea se encuentra en pantalla el cursor se moverá al principio de esa línea, de lo contrario se desplaza el documento hasta dejar la línea indicada en el centro al principio de la línea también.
Cambiar entre archivos abiertos
Si abrimos varios archivos con la ejecución de una sola instancia de nano, podemos navegar entre estos con Alt + , o Alt + < para ir hacia el archivo anterior y Alt + . o Alt + > para ir al siguiente archivo.
Guardar y cerrar archivos
Guardar un archivo
Para guardar un archivo usamos la combinación de teclas Ctrl + O o la tecla F3, y después de confirmar la ruta completa del archivo con un Entrar. También podemos modificar la ruta y nombre para guardar las modificaciones como un nuevo archivo, en la barra que aparece en la parte inferior con el texto “File Name to Write”. Si queremos seguir editando el archivo y cancelar el guardado usamos la combinación Ctrl + C.
Guardar con fin de línea Mac o DOS (Windows)
Luego de usar la combinación Ctrl + O o la tecla F3 podemos seleccionar el tipo de fin de línea del archivo. El tipo de fin de línea predeterminado es Unix, entonces para guardar con el fin de línea de DOS usamos Alt + D y para el fin de línea de Mac usamos Alt + M, y ahora si guardamos confirmamos con Entrar. En este caso nos aparecerá en la barra de abajo el texto con el tipo de fin de línea, por ejemplo: File Name to Write [DOS Format]. Para quitar el tipo de fin de línea personalizado volvemos a usar la combinación de teclas que se esté usando y el editor volverá al predeterminado.
Cerrar un archivo
Después de guardar un archivo sigue cerrarlo, si tenemos varios archivos abiertos se continuará con el siguiente archivo en la lista y si se trata de un solo archivo el editor se cerrará. Usamos la combinación Ctrl + X o la tecla F2. Si intentamos cerrar un archivo modificado el editor nos lo advertirá y nos dará tres opciones: Yes, tecla Y para guardarlo; No, tecla N para no guardarlo; y Cancel, tecla C para seguir editando.
Apariencia del editor
Número de línea
Para mostrar el número de cada línea usamos Alt + N para nano 4, Alt + # para nano 3 o Alt + ⇧ Mayús + 3 para nano 3.
Resaltado de sintaxis
Para desactivar o activar el coloreado de sintaxis de código usamos Alt + Y.
Modo de ayuda
Si alguna vez llega a desaparecer la sección de ayuda con las combinaciones disponibles usamos Alt + X para volverla a mostrar u ocultar.
Procesamiento de texto
Seleccionar texto
Para seleccionar texto podemos usar el ratón y simplemente seleccionarlo como con cualquier otro editor gráfico, en algunas terminales el texto se copia automáticamente al seleccionarlo. Si queremos seleccionar un texto de forma precisa solamente con el teclado movemos el cursor al principio del texto deseado, presionamos la tecla ⇧ Mayús y movemos el cursor hacia el final del texto para que se seleccione. En la selección de texto con teclado podemos seleccionar varias líneas.
Copiar y pegar texto
Para copiar texto por medio de la terminal que esté seleccionado usamos la combinación Ctrl + C o el menú contextual usando el ratón según la terminal que usemos. Para pegar texto debemos usar el menú contextual o la combinación que nuestra terminal nos permite hacer, en algunos casos es clic derecho.
Para copiar texto usando el buffer de nano con el teclado, usamos la combinación Alt + ⇧ Mayús + 6 (el 6 que incluye el símbolo ^) o descrito de otra forma Alt + ^. Para pegar el texto que copiamos usando el método del buffer usamos Ctrl + U o F10. Este buffer no se ve afectado por el portapapeles del sistema operativo.
Cortar y pegar texto
Para quitar texto seleccionado y guardarlo en un buffer para luego pegarlo usamos la combinación Ctrl + K. Para pegar este texto usamos la combinación de teclas Ctrl + U o F10.
Deshacer y rehacer cambios
Para deshacer cambios hechos en el documento o archivo usamos Alt + U y para rehacer los cambios Alt + E.
Insertar contenido de archivo en el archivo actual
Si queremos insertar en el archivo actual todo el contenido de un archivo que se encuentre cerrado, movemos el cursor hacia el punto donde se insertará el contenido y presionamos la tecla Insert, nos pedirá escribir la ruta completa del archivo y terminamos con la tecla Entrar.
Buscar y reemplazar texto
Para buscar y reemplazar texto tenemos soporte para usar expresiones regulares (Regex).
Para buscar cadenas de texto usamos la tecla F6 o Ctrl + W, después escribimos el texto y damos Entrar, el cursor se moverá al primer resultado encontrado.
Para buscar con expresiones regulares abrimos la búsqueda con F6 o Ctrl + W, usamos Alt + R hasta que indique que estamos usando expresiones, escribimos la expresión regular y presionamos Entrar.
Si vamos a reemplazar cadenas de texto básico abrimos buscar y reemplazar con Alt + R, en el cuadro de búsqueda aparecerá el texto Search (to replace) que indica que debemos ingresar el texto a buscar para reemplazar. Presionamos Entrar y ahora nos mostrará el texto Replace with indicando que debemos ingresar el texto sustituto, confirmamos con Entrar y con el texto Replace this instance? nos preguntara si deseamos reemplazar el texto encontrado, luego volvemos a confirmar con la tecla Y para reemplazar el primer resultado, N para no reemplazar, A para reemplazar todos los resultados encontrados y Ctrl + C para cancelar. Después de reemplazar una o varias búsquedas se mostrará un mensaje informativo con el número de reemplazos realizados, por ejemplo, [ Replaced 2 occurrences ] aclarando que se reemplazaron 2 ocurrencias.
Cuando queramos reemplazar con expresiones regulares abrimos buscar y reemplazar con Alt + R y volvemos a usar Alt + R para que se indique Search [Regexp] (to replace), que indica que usaremos Regex, escribimos la expresión regular y damos Entrar. Nos aparecerá en el cuadro de búsqueda el texto Replace with para que ingresemos el texto que hará de sustituto. Notas: No está soportado el uso de los caracteres de inicio de línea y fin de línea, ni de grupos de captura, se pueden especificar, pero no podemos pasar el texto encontrado hacia el texto sustitutivo.
En cualquier caso, ya sea búsqueda de texto, expresiones regulares o reemplazo modificamos la sensibilidad a minúsculas y mayúsculas con Alt + C, y con Alt + B modificamos el orden de búsqueda de buscar hacia adelante (predeterminado) a buscar hacia atrás. Si existen varios resultados podemos ir de uno por uno con Alt + Q para ir hacia el resultado anterior y Alt + W para ir hacia el siguiente resultado.
Revisión de ortografía
Para revisar la ortografía de los archivos simplemente usamos Ctrl + T y la revisión funcionará algo similar a buscar y reemplazar texto. Para que funcione necesitamos instalar el paquete spell y los diccionarios del idioma que queremos, y el problema es que estos varían en cada distribución así que por el momento no incluiré las instrucciones sobre su instalación.
Conclusión
Si lo resumimos su uso es bastante intuitivo y la mayoría de las tareas se ejecutan con atajos de teclado, y no le pide mucho a un editor completo. Su disponibilidad en prácticamente cualquier distribución Linux lo vuelve un aliado a la hora de manejar archivos de configuraciones. En cuanto a la ayuda es bastante detallada. Lo único que no me gusta fue que desde la versión 3 a la 4 hay algunos cambios en las combinaciones de teclas, por ejemplo, si estamos usando nano en Debian Buster y luego usamos Ubuntu Focal estaremos usando la versión 3 y 4 respectivamente, o si vamos más lejos con Debian Bullseye y su versión 5 del editor, y entonces cambiará la combinación usada para mostrar el número de línea.