Serie RHCSA: Edición de archivos de texto con Nano y Vim/Análisis de texto con grep y regexps - Parte 4


Todo administrador de sistemas tiene que lidiar con archivos de texto como parte de sus responsabilidades diarias. Eso incluye editar archivos existentes (probablemente archivos de configuración) o crear nuevos. Se ha dicho que si desea iniciar una guerra santa en el mundo de Linux, puede preguntar a los administradores de sistemas cuál es su editor de texto favorito y por qué. No vamos a hacer eso en este artículo, pero presentaremos algunos consejos que serán útiles para utilizar dos de los editores de texto más utilizados en RHEL 7: nano (debido a su simplicidad y facilidad de uso, especialmente para nuevos usuarios ), y vi/m (debido a sus diversas características que lo convierten en algo más que un simple editor). Estoy seguro de que puedes encontrar muchas más razones para usar uno u otro, o quizás algún otro editor como emacs o pico. Depende completamente de usted.

Edición de archivos con Nano Editor

Para iniciar nano, puede simplemente escribir nano en el símbolo del sistema, seguido opcionalmente por un nombre de archivo (en este caso, si el archivo existe, se abrirá en modo de edición). Si el archivo no existe, o si omitimos el nombre del archivo, nano también se abrirá en modo edición pero nos presentará una pantalla en blanco para que comencemos a escribir:

Como puede ver en la imagen anterior, nano muestra en la parte inferior de la pantalla varias funciones que están disponibles a través de los atajos indicados (^, también conocido como símbolo de intercalación, indica la tecla Ctrl). Por nombrar algunos de ellos:

  1. Ctrl + G: abre el menú de ayuda con una lista completa de funciones y descripciones: Ctrl + X: sale del archivo actual. Si los cambios no se han guardado, se descartan.
  2. Ctrl + R: le permite elegir un archivo para insertar su contenido en el archivo actual especificando una ruta completa.

  1. Ctrl + O: guarda los cambios realizados en un archivo. Te permitirá guardar el archivo con el mismo nombre o con uno diferente. Luego presione Enter para confirmar.

  1. Ctrl + X: sale del archivo actual. Si los cambios no se han guardado, se descartan.
  2. Ctrl + R: le permite elegir un archivo para insertar su contenido en el archivo actual especificando una ruta completa.

insertará el contenido de/etc/passwd en el archivo actual.

  1. Ctrl + K: corta la línea actual.
  2. Ctrl + U: pegar.
  3. Ctrl + C: cancela la operación actual y lo coloca en la pantalla anterior.

Para navegar fácilmente por el archivo abierto, nano proporciona las siguientes características:

  1. Ctrl + F y Ctrl + B mueven el cursor hacia adelante o hacia atrás, mientras que Ctrl + P y Ctrl + N lo mueven hacia arriba o hacia abajo una línea a la vez, respectivamente, al igual que las teclas de flecha.
  2. Ctrl + espacio y Alt + espacio mueven el cursor hacia adelante y hacia atrás una palabra a la vez.

Finalmente,

  1. Ctrl + _ (guión bajo) y luego ingresar X, Y lo llevará precisamente a la línea X, columna Y, si desea colocar el cursor en un lugar específico del documento.

El ejemplo anterior lo llevará a la línea 15, columna 14 del documento actual.

Si puede recordar sus primeros días en Linux, especialmente si vino de Windows, probablemente estará de acuerdo en que comenzar con nano es la mejor manera de hacerlo para un nuevo usuario.

Edición de archivos con Vim Editor

Vim es una versión mejorada de vi, un famoso editor de texto en Linux que está disponible en todos los sistemas * nix compatibles con POSIX, como RHEL 7. Si tiene la oportunidad y puede instalar vim, adelante; si no, la mayoría (si no todos) de los consejos que se dan en este artículo también deberían funcionar.

Una de las características distintivas de vim son los diferentes modos en los que opera:

  1. El modo de comando le permitirá navegar a través del archivo e ingresar comandos, que son combinaciones breves que distinguen entre mayúsculas y minúsculas de una o más letras. Si necesita repetir uno de ellos un cierto número de veces, puede prefijarlo con un número (solo hay algunas excepciones a esta regla). Por ejemplo, yy (o Y, abreviatura de yank) copia toda la línea actual, mientras que 4yy (o 4Y) copia toda la línea actual junto con las siguientes tres líneas (4 líneas en total).
  2. En el modo ex, puede manipular archivos (incluido guardar un archivo actual y ejecutar programas o comandos externos). Para ingresar al modo ex, debemos escribir dos puntos (:) comenzando desde el modo comando (o en otras palabras, Esc + :), seguido directamente por el nombre del comando ex-mode que desea usar.
  3. En el modo de inserción, al que se accede escribiendo la letra i, simplemente ingresamos texto. La mayoría de las pulsaciones de teclas hacen que aparezca texto en la pantalla.
  4. Siempre podemos ingresar al modo de comando (independientemente del modo en el que estemos trabajando) presionando la tecla Esc.

Veamos cómo podemos realizar las mismas operaciones que describimos para nano en la sección anterior, pero ahora con vim. ¡No olvide presionar la tecla Enter para confirmar el comando vim!

Para acceder al manual completo de vim desde la línea de comando, escriba: ayuda en el modo de comando y luego presione Enter:

La sección superior presenta una lista de índice de contenido, con secciones definidas dedicadas a temas específicos sobre vim. Para navegar a una sección, coloque el cursor sobre ella y presione Ctrl +] (corchete de cierre). Tenga en cuenta que la sección inferior muestra el archivo actual.

1. Para guardar los cambios realizados en un archivo, ejecute cualquiera de los siguientes comandos desde el modo de comando y funcionará:

:wq!
:x!
ZZ (yes, double Z without the colon at the beginning)

2. Para salir del descarte de cambios, use: q !. Este comando también le permitirá salir del menú de ayuda descrito anteriormente y volver al archivo actual en el modo de comando.

3. Cortar N número de líneas: escriba Ndd en el modo de comando.

4. Copie M número de líneas: escriba Myy en el modo de comando.

5. Pegar líneas que fueron previamente cortadas o copiadas: presione la tecla P en el modo de comando.

6. Para insertar el contenido de otro archivo en el actual:

:r filename

Por ejemplo, para insertar el contenido de /etc/fstab , haga lo siguiente:

7. Para insertar la salida de un comando en el documento actual:

:r! command

Por ejemplo, para insertar la fecha y la hora en la línea debajo de la posición actual del cursor:

En otro artículo para el que escribí, (Parte 2 de la serie LFCS), expliqué con mayor detalle los atajos de teclado y las funciones disponibles en vim. Es posible que desee consultar ese tutorial para obtener más ejemplos sobre cómo utilizar este potente editor de texto.