Pregunta

Potencialmente 2 preguntas en una. Me gustaría saber cómo hacer referencia a un registro en modo Ex.

Por ejemplo, yo estoy editando un archivo y quiero guardar el archivo con una marca de tiempo (o simplemente marca de fecha en realidad) anexado a él.

Sé que puedo establecer registro con el valor de una concha de comandos de salida usando:

:let @a = system("date +\"%Y-%m-%d\"")

¿Hay alguna a eliminar la referencia de este registro e insertar su valor en un comando Ex? Algo así como:

:w testfile.<value of "a register>

Copia al portapapeles del sistema y pegar sería bueno, pero hacerlo de una manera más genérica / programitic para la construcción de otros comandos en el futuro sería bueno.

¿Fue útil?

Solución

Hay dos enfoques para hacer esto, pero probablemente no es exactamente lo que quiere.

  1. Uso <CTRL-R>a para insertar el contenido en la línea de comandos actual. Ver :help c_CTRL-R para obtener más información.

  2. Uso exe para permitir la inserción de variables en la expresión. Ver :help :exe y :help 41.3.

    :exe 'w testfile.' . @a
    

Otros consejos

Suponiendo registrar "un", puede escribir:

<CTRL-R>a que será de entrada el valor del registro A en línea en ese punto. Esto se puede utilizar en el modo de inserción también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top