2010-04-22 47 views
8

Tengo una macro vim que sigo escribiendo mal, generalmente cuando intento guardar algo, así que lo hago rápidamente y no puedo descifrar qué teclas presioné. Es molesto ya que pega un código de bash irrelevante en mi archivo, así que tengo que deshacer el pegado erróneo que también quita la última cosa que escribí que quiero.Borrar todas las macros vim actualmente definidas

Estaba buscando una forma de listar las macros actualmente definidas (para poder redefinir el ofensivo), o una forma de borrarlas por completo. Solo uso macros a muy corto plazo, así que no me importa perderlos todos.

Saludos

Respuesta

19

Macros

Lo que se llama una macro sobre todo en vim se inicia con @ y una carta. Ejecuta el contenido de un registro con dicha letra como su nombre.

Lista el contenido del registro

:reg

Puede borrar el registro del A con

:let @a = ''


veces asignaciones o abreviaturas se confunden para las macros, por lo tanto, he aquí algo de información acerca de ellos .

asignaciones Lista

todas las asignaciones de

:map

todas las asignaciones que se inician con el modo normal \

:map \

:nmap

modo de inserción

:imap

modo visual

:vmap

modo de comando

:cmap

abreviaturas Lista

todas las abreviaciones

:abbr

todos abreviaturas que empiezan por correo electrónico

:abbr email

modo inserción

:iabbr

modo de comando

:cabbr

Puede utilizar :verbose antes de que los comandos anteriores para obtener más información acerca de dónde el mapeo/abreviatura se estableció el último, como en :verbose nmap. Estos comandos también muestran todas las asignaciones que se han establecido mediante complementos y otros archivos de configuración.

Extracción de un mapeo/abreviatura

(sólo un par de modos que aparezcan aquí, debe ser capaz de eliminar uno sólo para un cierto modo al igual que con el listado de los comandos anteriormente.)

modo de inserción, quitar una asignación que se define como \:

:iunmap \\

modo normal:

:nunmap \\

eliminar una abreviatura definida como email:

:unabbr email

modo de inserción

:

:iunabbr email

asignaciones claras/abreviaturas

No recomendaría la limpieza de todas las asignaciones/abreviaturas, ya que perdería todo lo que sus plugins han mapeado/abreviada. Sin embargo, puede borrar las asignaciones poniendo la letra c después del comando de listado anterior, como en :imapc para borrar las asignaciones del modo de inserción. Las abreviaturas se pueden borrar con :abclear, o solo para el modo de inserción :iabclear y solo para el modo de comando :cabclear.

+0

Gracias por esto, al final fue un macro (@w que podría escribirse fácilmente al guardarlo). Lo he borrado ahora, saludos –

+0

Solo por curiosidad, ¿cómo exactamente ahorras si puedes escribir mal @w? Y lo siento por asumir que usted quiso decir algo más, es solo que incluso la ayuda de vim lo guía a la sección de asignación de teclas si busca: h macro. Edité la respuesta para que la macroparte esté al comienzo de la respuesta. –

+0

Guardo en vim con: w, ¿cómo se guarda un archivo? Como descubriste, la ayuda vim me dirigió al lugar equivocado, de ahí la pregunta. –

1

Para borrar un solo macro - registro sobre él - sin nada.

Para su situación en modo normal, simplemente escriba "qwq".

  • q para empezar a grabar una macro
  • w para ajustar el espacio de memoria intermedia para w
  • q nuevo para guardar la (ahora vacío) macro

Compruebe con: reg [ister] w

Esto es solo un poco más rápido que: let @w = '' pero para mí es más fácil de recordar.

Cuestiones relacionadas