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 (muy 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: brings up the help menu with a complete list of functions and descriptions:Ctrl + X: exits the current file. If changes have not been saved, they are discarded.
  2. Ctrl + R: lets you choose a file to insert its contents into the present file by specifying a full path.
  1. Ctrl + O: saves changes made to a file. It will let you save the file with the same name or a different one. Then press Enter to confirm.
  1. Ctrl + X: exits the current file. If changes have not been saved, they are discarded.
  2. Ctrl + R: lets you choose a file to insert its contents into the present file by specifying a full path.

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

  1. Ctrl + K: cuts the current line.
  2. Ctrl + U: paste.
  3. Ctrl + C: cancels the current operation and places you at the previous screen.

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

  1. Ctrl + F and Ctrl + B move the cursor forward or backward, whereas Ctrl + P and Ctrl + N move it up or down one line at a time, respectively, just like the arrow keys.
  2. Ctrl + space and Alt + space move the cursor forward and backward one word at a time.

Finalmente,

  1. Ctrl + _ (underscore) and then entering X,Y will take you precisely to Line X, column Y, if you want to place the cursor at a specific place in the document.

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; De lo contrario, 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. Command mode will allow you to browse through the file and enter commands, which are brief and case-sensitive combinations of one or more letters. If you need to repeat one of them a certain number of times, you can prefix it with a number (there are only a few exceptions to this rule). For example, yy (or Y, short for yank) copies the entire current line, whereas 4yy (or 4Y) copies the entire current line along with the next three lines (4 lines in total).
  2. In ex mode, you can manipulate files (including saving a current file and running outside programs or commands). To enter ex mode, we must type a colon (:) starting from command mode (or in other words, Esc + :), directly followed by the name of the ex-mode command that you want to use.
  3. In insert mode, which is accessed by typing the letter i, we simply enter text. Most keystrokes result in text appearing on the screen.
  4. We can always enter command mode (regardless of the mode we’re working on) by pressing the Esc key.

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 hará el truco:

: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 regresar al archivo actual en el modo de comando.

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

4. Copiar 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.