Nota: supongo que está usando el a
registro para la totalidad de esta respuesta, pero puede usar cualquier registro
Nota2: <1b>
es Esc; puedes insertar esto con Ctrl+vy luego Esc. También puede aparecer como ^[
(según la display
configuración).
No es un mapeo; entonces tiene sentido que :map
no funcione. Está grabado en un registro, y puede verlo y editarlo como cualquier registro.
Todo lo que qhace es "borrar este registro y agregarle cualquier tecla" , y todo lo que @hace es "evaluar un registro como comandos" .
No hay nada "diferente" en una macro, puede invocar cualquier registro como macro.
Para ver solo use:
:echo @a
Como cualquier registro.
También puede usar :registers
para ver todos los registros.
Para editar puedes hacer varias cosas:
La forma más sencilla de asignarlo es @a
así:
:let @a='iasd<1b>'
Esto iniciará el modo de inserción ( i
), insertar asd
y Escape de vuelta al modo normal.
Esto no es muy útil para una edición extensa; podría usar funciones (es decir substitute()
), o tal vez agregar algo ( :let @a=@a . 'more'
), pero cambiar algo en el medio no es tan fácil.
He descubierto que la mejor manera de hacerlo es iniciar un nuevo búfer con :split
o :tabnew
y editar el registro al insertarlo allí, editarlo y luego copiarlo nuevamente.
Puede usar "apcual insertará el texto en el búfer (donde a
está su registro):
iThis is A<1b>
Ahora solo puedo cambiar la línea a quizás:
iThis is an edited macro<1b>
Luego hago ^v$"aypara tirar (copiar) esta línea al a
registro:
- ^ para inicio de línea
- v para modo visual
- $ para fin de línea
- "ay tirar de la selección para registrarse
a
Si lo desea, puede hacerlo sin usar el modo visual con ^"ay$.
Ahora puede usar @a, como si esto fuera lo que grabó originalmente.
También puede usar yy, y luego @", que es un poco más rápido. Sin embargo, esto también copiará la nueva línea final y puede causar efectos secundarios ... Otra forma de hacerlo más rápido es usar una macro :-)
Enter
al final de su grabación. En muchos casos, esto puede ser benigno, pero en escenarios en los que ha elaborado cuidadosamente la posición del cursor al final de la grabación, puede afectar la repetibilidad.