Cómo editar archivos con un editor de texto real de PowerShell

¿Ejecutaste un script que leyó un archivo de texto y descubriste que el archivo tenía varias entradas incorrectas? Un editor de texto de PowerShell puede ser útil en tales situaciones. No necesitarías abrir un editor externo. En cambio, puedes editar el archivo sin salir de PowerShell. ¿Qué tan genial es eso?

Sigue leyendo y aprenderás cómo instalar y usar tres editores de texto (Nano, Vim y Emacs) para editar tus archivos de texto dentro de PowerShell. Este tutorial también cubrirá los beneficios de cada uno para ayudarte a elegir cuál es el ideal para ti.

¡Comencemos!

Prerrequisitos

Este tutorial será una demostración práctica. Si quieres seguirlo, asegúrate de tener lo siguiente:

  • A computer running on Windows 7 or higher. The examples in this tutorial will use Windows 10 version 21H1.
  • Windows PowerShell v3+ o PowerShell Core v6+. Este tutorial utilizará la versión 5.1 de Windows PowerShell.
  • La última versión de Chocolatey (v0.11.2 al momento de escribir este tutorial).

Usando Nano como editor de texto de PowerShell.

Si eres nuevo en editores de texto basados en terminal o solo necesitas hacer una edición rápida en un archivo, Nano es ideal para ti. Nano es ligero, intuitivo y más adecuado para tareas de edición de texto livianas en comparación con otros editores más avanzados en este tutorial.

Instalación de Nano

Para instalar Nano, sigue los pasos a continuación.

1. Abre PowerShell como administrador.

2. En PowerShell, ejecuta el siguiente comando choco install para instalar el editor de texto Nano. El interruptor (-y) evitará la confirmación y procederá con la instalación del paquete.

choco install nano -y

El proceso de instalación se verá similar a la captura de pantalla a continuación. Como puedes ver, en este ejemplo, la instalación de Nano fue exitosa.

Installing Nano

3. Después de instalar Nano, ejecuta el siguiente comando para verificar que la instalación fue exitosa y mostrar la versión actual.

nano --version

Como se puede ver a continuación, el comando fue exitoso y mostró la versión de Nano en tu computadora.

Verifying the Nano version

Edición y Guardado de un Archivo

Ahora que tienes Nano instalado, ¡es hora de probarlo!

1. Para crear un nuevo archivo o abrir uno existente, ejecuta el comando nano y sigue con el nombre de archivo que deseas crear o abrir. Para los ejemplos en este tutorial, estarás creando y editando un script de Windows PowerShell, que utiliza la extensión de archivo .ps1. El comando a continuación creará un nuevo archivo llamado myPowerShellScript.ps1 en el directorio actual.

nano myPowerShellScript.ps1

El editor de texto Nano se abrirá dentro de PowerShell. Como puedes ver en la imagen a continuación, cerca de la parte inferior dice [Nuevo Archivo], indicando que Nano ha abierto un archivo nuevo y vacío.

The Nano editor screen

Para ver todos los comandos de acceso rápido disponibles, presiona CTRL+G en tu teclado para mostrar la documentación de ayuda. Los comandos que comienzan con ^ significa que debes presionar la tecla CTRL. Por otro lado, si el comando comienza con M, debes presionar la tecla ALT.

2. A continuación, comienza a escribir tu script usando las teclas de flecha en tu teclado para mover el cursor. Por ejemplo, escribe el comando de Windows PowerShell Write-Host "¡Hola Mundo!" como se muestra en la siguiente imagen. Cuando se ejecute, este comando imprimirá el texto “¡Hola Mundo!” en la consola.

Observa que una vez que modifiques el contenido del archivo, la palabra Modificado aparecerá en la esquina superior derecha del editor. Después de editar, presiona CTRL+O para indicarle a Nano que deseas guardar el archivo.

Using the Write-Out shortcut

3. Nano te pide que ingreses el nombre de archivo para escribir los cambios. Presiona Enter para confirmar.

Saving the file

4. Finalmente, para salir de Nano, presiona CTRL+X.

Si intentas salir del editor mientras hay cambios pendientes, Nano te pedirá que guardes o ignores los cambios. Si eliges guardar, presiona Y y especifica el nombre del archivo a escribir como lo hiciste en el paso 3. De lo contrario, presiona N para descartar los cambios.

Exiting Nano

5. Ahora ejecuta tu script ejecutando el siguiente comando. El siguiente comando asume que tu archivo está en la carpeta C:\.

& C:\myPowerShellScript.ps1

El script imprimirá el mensaje ‘¡Hola Mundo!’ en la terminal, como se muestra en la siguiente imagen.

Output of the script

Búsqueda y Reemplazo de Texto

Ahora que sabes cómo editar y guardar un archivo, es hora de aprender a hacer algo ligeramente más avanzado: ¡buscar y reemplazar cadenas!

Para buscar una cadena, sigue estos pasos.

1. Primero, abre el archivo de texto en el editor Nano, si aún no está abierto.

2. Una vez que hayas abierto el archivo de texto, presiona CTRL+W en tu teclado para invocar el comando Dónde está.

3. A continuación, escribe la cadena a buscar junto al indicador de búsqueda y presiona Enter. El ejemplo a continuación buscará la palabra Hello.

Searching for a string

Si la cadena existe en el archivo, tu cursor se moverá junto a ella, como se muestra a continuación.

Finding the string

Para buscar y reemplazar una cadena, procede de la siguiente manera.

1. Presiona CTRL+\ en tu teclado para abrir el menú de búsqueda y reemplazo. Junto al indicador Buscar (para reemplazar), escribe la cadena que deseas reemplazar y presiona Enter.

Searching for the word ‘Hello’

2. A continuación, en el cuadro de reemplazo, escribe la nueva palabra y presiona Enter. En el ejemplo a continuación, la palabra de reemplazo será Adiós.

Replacing the word

3. Por último, elige si deseas reemplazar solo la instancia actual o todas las instancias de la palabra coincidente en el archivo. Las opciones son:

  • Para reemplazar la única instancia, presiona Y.
  • Para reemplazar todas las instancias, presiona A.
  • Para omitir esta instancia, presiona N.
  • Para cancelar la operación de reemplazo, presiona CTRL+C.

En este ejemplo, presiona Y para reemplazar la instancia actual.

Confirming the search and replace operation

Nano indicará el número de ocurrencias reemplazadas si la operación de reemplazo tiene éxito, como se muestra en la siguiente imagen.

Replace occurrence count

4. Presiona CTRL+X en tu teclado para salir de Nano y presiona Y para guardar el búfer. Vuelve a ejecutar tu script. El nuevo mensaje ‘¡Adiós Mundo!’ se imprimirá en tu terminal.

The script output

Uso de Vim como Editor de Texto en PowerShell

Vim ofrece más características que Nano, como recuperación de sesión, coloración de sintaxis, división de ventanas y autocompletado. Nano está destinado a ediciones rápidas de archivos, mientras que Vim también es una alternativa ligera a un IDE.

Sin embargo, las características adicionales que ofrece Vim vienen con el costo de una curva de aprendizaje más pronunciada. No te desanimes, sin embargo. Vim es un excelente editor para aprender.

Instalación de Vim

Ahora es el momento de empezar instalando Vim.

1. Abre PowerShell como administrador.

2. En la terminal de PowerShell, ejecuta el siguiente comando para instalar el editor Vim.

choco install vim -y

3. Para verificar la versión de Vim, ejecuta el siguiente comando. vim --version

vim --version
Verifying the Vim version

Edición y Guardado de un Archivo

Ahora que tienes Vim instalado, es hora de ensuciarte las manos y aprender a editar un archivo. Antes de continuar, debes saber que hay diferentes modos en Vim. Cada modo se comporta de manera diferente y afecta las acciones que puedes realizar dentro del editor.

Los tres modos comúnmente utilizados son:

  • Normal – El modo predeterminado tan pronto como abres Vim. Este modo te permite navegar por el archivo de texto pero no agregar nuevos textos.
  • Insertar – Este modo es donde Vim te permite editar el archivo. Para ingresar a este modo, presiona i (sin distinción entre mayúsculas y minúsculas) en el teclado. Para salir y volver al modo normal, presiona ESC.
  • Comando – En este modo, Vim te permite invocar comandos como guardar el archivo, salir de Vim o ver el documento de ayuda, entre otros.

Continuando con la edición de un archivo en Vim, sigue los pasos a continuación.

1. Para abrir un archivo en Vim, ejecuta el comando vim seguido del nombre de archivo a abrir. El siguiente comando abre el archivo miScriptPowerShell.ps1.

vim myPowerShellScript.ps1

El editor de texto vim se abrirá, como se muestra en la siguiente imagen. Ten en cuenta que el comando de PowerShell ‘Write-Host’ y el mensaje ‘¡Hola Mundo!’ se muestran en diferentes colores, ya que Vim admite el coloreado de sintaxis.

The Vim opening view in normal mode

Si necesitas ver el documento de ayuda de Vim, escribe :h y presiona Enter. Presionar el carácter : mientras estás en el modo normal cambia Vim al modo de comandos, mientras que h significa abrir el archivo de ayuda. Para salir del documento de ayuda, escribe :q y presiona Enter para volver al modo normal.

A continuación, entra en el modo insertar presionando i. Al entrar en el modo insertar, el texto -- INSERT -- aparece en la parte inferior del editor, como se muestra en la siguiente imagen.

Vim in insert mode

3. Ahora que estás en el modo insertar, edita el archivo como desees. Las teclas de flecha te permitirán mover el cursor dentro del editor.

4. Después de editar, presiona Esc para volver al modo normal.

5. Escribe el comando :wq y presiona Enter para guardar y cerrar el archivo. El comando w guarda los archivos mientras que q sale de Vim.

Saving the file and existing Vim

Búsqueda y reemplazo de texto

Sigue los pasos a continuación para buscar cadenas en Vim.

1. Abre el archivo que deseas editar en Vim.

2. En el editor de Vim, para buscar una cadena, ejecuta el siguiente comando, donde <cadena> es la cadena que deseas buscar.

:/<string>

Por ejemplo, para buscar la palabra Hola, escribe:

:/Hello

Vim resaltará las palabras coincidentes, como se muestra en la siguiente imagen.

Para iterar a través de múltiples instancias de los textos coincidentes, presiona n para moverte a la siguiente ocurrencia o la tecla N para la ocurrencia anterior.

Vim highlighting the matching words

3. Por último, para reemplazar cada instancia de una cadena en todo el archivo, ejecuta el siguiente comando, donde <old> es el texto a reemplazar y <new> es el texto de reemplazo.

:%s/<old>/<new>/g

Por ejemplo, el comando a continuación reemplazará la palabra Hello con la palabra Goodbye.

:%s/Hello/Goodbye/g
Performing a search and replace in Vim

Como resultado, Vim reemplaza el texto como puedes ver a continuación.

Vim showing the search and replace results

4. Escribe el comando :wq y presiona Enter para guardar y cerrar el archivo. Vuelve a ejecutar el script. La salida mostrará tu nuevo mensaje.

The script output

Usar Emacs como Editor de Texto de PowerShell

Al igual que Vim, Emacs ofrece más características que Nano. Además, Emacs también es un Entorno de Desarrollo Integrado (IDE). Algunas de las características de Emacs incluyen coloreado de sintaxis, edición de múltiples archivos simultáneamente y autoindentación.

Otro beneficio de Emacs sobre los otros editores en este tutorial es que Emacs no tiene modos. Emacs también es completamente personalizable. Si hay algo que Emacs no ofrece, puedes agregar soporte para ello tú mismo usando Emacs Lisp.

Instalación de Emacs

Sigue los pasos a continuación para instalar Emacs.

1. Abre PowerShell como Administrador, si aún no lo has hecho.

2. En la terminal de PowerShell, ejecuta el siguiente comando para instalar Emacs utilizando Chocolatey. choco install emacs -y

choco install emacs -y

3. Ejecuta el siguiente comando para verificar la versión de Emacs que has instalado. emacs --version

choco install emacs -y

Deberías ver una salida similar a la imagen a continuación que muestra la versión de Emacs en tu computadora.

Displaying Emacs version

Edición y Guardado de un Archivo

Entonces, ¿ya has instalado Emacs? ¿Qué sigue? Sumérgete y comienza a editar un archivo de texto para ver Emacs en acción. Sigue los pasos a continuación para editar y guardar un archivo de texto.

1. Para abrir un archivo en Emacs, ejecuta el comando emacs seguido del nombre de archivo en PowerShell. El siguiente comando abre el archivo myPowerShellScript.ps1 para su edición. El interruptor -nw le indica a emacs que abra el editor dentro de la ventana de terminal actual (PowerShell) y no en una GUI separada. emacs -nw myPowerShellScript.ps1

emacs -nw myPowerShellScript.ps1

Se dispondrán de varios menús desplegables en la parte superior del editor. Para ver la documentación de ayuda de Emacs, haz clic en el menú desplegable Ayuda.

Opening a file in Emacs

2. Edita el archivo como desees y una vez que hayas completado tus ediciones, guarda los cambios presionando CTRL+X y luego CTRL+S consecutivamente. Verás la confirmación de guardado del archivo en la parte inferior del editor, como se muestra a continuación.

Saving the file

3. Para salir del editor, presiona CTRL+X en tu teclado, seguido de CTRL+C.

Búsqueda y Reemplazo de Texto

Ahora que conoces los conceptos básicos de Emacs, ¿cómo realizar una operación de búsqueda y reemplazo? Sigue los pasos a continuación para hacerlo.

1. Presiona CTRL+S y escribe el texto a buscar junto al indicador I-search para buscar un texto. El ejemplo siguiente busca la palabra Hello.

Searching for text

2. Para iniciar la opción de buscar y reemplazar, presiona ALT+% en tu teclado (lo mismo que ALT+SHIFT+5).

3. Luego, escribe el texto a buscar junto al indicador Query replace: y presiona Enter.

Searching for the text to replace

4. Después, escribe el texto de reemplazo junto al indicador y presiona Enter.

Entering the replacement text

5. Por último, en el indicador Query replacing <old text> with <new text>:, presiona ! para confirmar y reemplazar todas las ocurrencias del texto.

Replacing all instances of the matching text

Como resultado, Emacs reemplazó el texto, como puedes ver a continuación. Además, Emacs muestra el número de ocurrencias del texto reemplazado en la parte inferior del editor.

Emacs replaced the search text

6. Sal del editor presionando CTRL+X en tu teclado, seguido de CTRL+C. Vuelve a ejecutar el script. La salida mostrará tu nuevo mensaje.

The script output

Conclusión

En este tutorial, has aprendido los conceptos básicos de cómo utilizar tres editores de texto en PowerShell y los beneficios de cada uno. La próxima vez que necesites editar un archivo desde la terminal, no pierdas tiempo configurando un editor de texto externo. Simplemente abre Nano, Vim o Emacs y realiza tus cambios en unos pocos golpes de teclado.

¿Qué editor de texto de PowerShell te gustó más? ¿Conoces otros editores de texto que no estuvieran en este tutorial?

Source:
https://adamtheautomator.com/powershell-text-editor/