2010-03-09 14 views
10

Posiblemente 2 preguntas en una. Me gustaría saber cómo hacer referencia a un registro en modo Ex.Vim Registro Uso en modo Ex

Por ejemplo, estoy editando un archivo y quiero guardar el archivo con una marca de tiempo (o solo una marca de fecha realmente) anexada.

Sé que puedo definir el 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.

Respuesta

11

Existen dos métodos para hacerlo, pero probablemente ninguno de ellos sea exactamente lo que usted desea.

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

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

    :exe 'w testfile.' . @a 
    
1

Suponiendo registro "A", puede escribir:

<CTRL-R>a que será ingresado el valor de registrar una línea en ese punto. Esto también se puede usar en modo inserción.

+0

Sí, sabía de que, en busca de una manera de hacerlo sin tener que pegarlo. No hay ninguna razón en particular, pero sería bueno tener algo que elimina referencias automáticamente la variable – Peck

Cuestiones relacionadas