Insertar la salida de un comando en un fichero con el editor vi / vim

Podemos ejecutar un comando y que la salida de ese comando se inserte en el fichero que estamos editando en ese momento con vi mediante :r! comando.

Si bien esta acción tiene muchas utilidades, vamos a ilustra este artículo con dos ejemplos.

Mostrar el resultado de un comando

Si estamos documentando un comando, podemos mostrar el resultado de ese comando escribiendo:

:r! comando

Veamos un ejemplo en vi:

Incluye en el documento el resultado de la ejecución del comando.

Con comandos propios

Cuando estamos programando, sobre todo con determinados lenguajes como PHP, hay una serie de estructuras que se repiten continuamente. Por ejemplo, para crear una clase con un constructor, tenemos que escribir:

class NombreDeLaClase
{
    public function __construct() 
   {

   }
}

Y luego, rellenar el código de la clase. Por lo que es más fácil hacen un script que contenga esa estructura al que le pasemos como parámetro el nombre de la clase. Algo así:

#!/bin/bash

echo "class $1"
echo "{" 
echo -e "\tpublic function __construct()"
echo -e "\t{"
echo ""
echo -e "\t}" 
echo "}"

Luego, simplemente tendremos que ejecutar:

 4 <?php
 3 
 2 namespace Ejemplo\Clase
 1 
 5   
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
:r! class ClaseDeEjemplo

Y nos completará la clase con su constructor:

11 <?php
10 
 9 namespace Ejemplo\Clase
 8 
 7 
 6 class ClaseDeEjemplo
 5 {
 4     public function __construct()
 3     {
 2 
 1     }
12  }
~                                                                               
~                                                                               
~                                                                               
7 more lines

Y nos habremos ahorrado con una línea, no sólo tener que escribir siete líneas, sino las farragosas llaves y paréntesis, que siempre son más complicadas de escribir que las letras.

Un comentario en «Insertar la salida de un comando en un fichero con el editor vi / vim»

Deja una respuesta

Tu dirección de correo electrónico no será publicada.