external-command – Reemplazar la selección con la salida del comando externo

Pregunta:

Suponiendo que tengo una línea en un archivo con XXXX como marcador de posición, he seleccionado a través de v siguiente manera:

XXXX Some other text

¿Cómo puedo cambiar solo el XXXX con la salida de un comando externo, como date +%Y%m%d ?

Llegué tan lejos como

:'<,'>!date +\%Y\%m\%d 

pero eso reemplazó a toda la línea.

Respuesta:

Puede eliminar el texto e insertar la salida de un comando usando Ctrl R= :

CTRL-R {0-9a-z"%#*+:.-=}                                        i_CTRL-R
                Insert the contents of a register.  Between typing CTRL-R and
                the second character, '"' will be displayed to indicate that
                you are expected to enter the name of a register.
 …
                                                        i_CTRL-R_=
                        '='     the expression register: you are prompted to
                                enter an expression (see expression)

Para la expresión, puede usar la función system() para ejecutar comandos externos.

Después de seleccionar el texto, presione c , luego <cr>= y use system('date +%Y%m%d') como expresión.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım