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.
Pingback: Insertar un fichero en otro con el editor vi / vim – Linux en Español