Hay algunos escenarios en los que el administrador de UNIX o Linux desea ejecutar comandos de Linux e insertar la salida de los comandos en el editor vi sin salir de él. Esto puede ser posible usando los siguientes pasos:
Primero vaya al modo de comando en el editor vi presionando la tecla ‘esc’ y luego escriba «:», seguido de «!» y el comando, el ejemplo se muestra a continuación.
:!Linux_Command
Ejemplo: Ejecute el comando ifconfig dentro del archivo /etc/hosts.
[email protected]:~$ sudo vi /etc/hosts
Inserte la salida del comando Linux/Unix en el editor vi:
Para insertar la salida de un comando de UNIX o Linux en un archivo, inmediatamente después del cursor, use la siguiente sintaxis en el editor vi
:r!comando
Ejemplo: inserte la salida del nombre de host en el archivo /etc/hosts.
[email protected]:~$ sudo vi /etc/hosts
Cuando presionamos enter, la salida del comando hostname se insertará en el archivo justo después de la posición del cursor.
Iniciando un shell dentro de vi Editor
Podemos iniciar el shell de UNIX dentro del editor, para iniciar un shell use el siguiente comando:
:
El tipo de shell que se inicia está determinado por la variable $SHELL. Y para volver al editor, use exit o Ctrl-D
Ejemplo: inicie sh shell en el editor vi:
[email protected]:~$ sudo vi /etc/hosts
Nota: Las funciones discutidas anteriormente se vuelven muy útiles si está utilizando vi/vim para documentar un comando UNIX y quería incluir ejemplos de la salida de este comando.
Abra un archivo existente dentro del editor vi
Supongamos que ya abrimos el archivo /etc/hosts usando el editor vi y queremos abrir y editar /etc/resolv.conf sin salir del editor vi, esto se puede hacer usando el modo de comando a continuación,
:e
Una vez que presionamos enter, se abrirá el archivo /etc/resolv.conf, haga el cambio que desee y luego guarde y salga del archivo.
Eso es todo de este artículo, espero que estos consejos te ayuden a trabajar en vi y vim editor de manera más eficiente.