puntero personalizado descargar cursores como cambiar vim replace

vim - personalizado - cursores



vim: ¿Cómo puedo reemplazar un carácter que está debajo de mi cursor por texto extraído anteriormente(más de una vez)? (5)

Digamos que he arrastrado 3 caracteres "foo" en mi portapapeles usando una selección visual + tirón, es decir: ''vllly''

Luego moví mi cursor a otro personaje (llamémosle a este personaje x) en la línea 5, que me gustaría reemplazar con lo que hice anteriormente, es decir, foo.

Puedo usar ''p'' para pegar foo después de x, o ''P'' para pegar foo antes de x, pero quiero reemplazar x con foo.

Puedo usar ''vp'' para reemplazar x con foo, pero esto solo funciona una vez, ya que me deja con x en mi portapapeles. En otras palabras, si me muevo a la siguiente aparición de xy pulso vp nuevamente, no lo reemplaza con foo.

Claro, podría hacer una búsqueda / reemplazo usando: s / x / foo / gc y luego ignorando todas las apariciones de x que no deseo reemplazar, pero esto es un poco tedioso de escribir, particularmente cuando todo lo que necesito do es reemplazar 2 o 3 ocurrencias de x que están muy cerca de mi cursor pero no en la misma línea (es decir: líneas 2, 3 y 7).

Entonces actualmente estoy usando: 2,7s / x / foo / gc pero me pregunto si hay una manera de mover mi cursor a x y presionar [insertar el botón mágico aquí] para reemplazarlo por foo. Y luego puedo pasar a la siguiente aparición de x y presionar [botón mágico] de nuevo y boom, se reemplaza x con foo nuevamente.

Por mucho que me duela usar esta analogía, imagine que está escribiendo en el bloc de notas, y selecciona 3 caracteres, presiona Ctrl + c para copiarlos en su portapapeles, y luego resalte x, y presione Ctrl + v para reemplazarlo foo. A continuación, resalta otra x y presiona Ctrl + v nuevamente, y así sucesivamente.

¿Cómo hago esto en vim?


¿Qué pasa con s<Cr>0 , esto se puede repetir con .

  • s borra el carácter debajo del cursor y lo pone en modo de inserción.
  • <Cr>0 inserta el registro 0, que contiene el texto extraído.

También puede usar s escribir foo manualmente, que también se puede repetir con .


Copie su "foo" en otro registro, por ejemplo, registre un:

"sí

A continuación, seleccione visualmente el carácter que desea reemplazar con "foo" y presione

"aP


Esto es menos que ideal, pero si tira de la memoria intermedia con nombre a (por ejemplo, jalar con "ay ), puede usar x"aP . Use su mapa favorito para que sea una sola pulsación de tecla.


Lo necesito tan a menudo, escribí un complemento para eso: ReplaceWithRegister .

Este complemento ofrece un comando gr dos-en-uno que reemplaza el texto cubierto por un {movimiento}, línea (s) completa (s) o la selección actual con el contenido de un registro; el texto antiguo se borra en el registro del agujero negro, es decir, se ha ido.


Pegar desde el registro 0 con v"0p .