Supongamos que tengo el texto Fnordeliminado antes y que mi cursor reside en Bla línea:
M:mock(Baz)
¿Cómo puedo cambiar el texto dentro () con el texto previamente eliminado?
Actualmente, a menudo cometo el error al hacer:
di(también conocido como "eliminar dentro ()"- MAYÚS + P
sin embargo, lo que me deja con el texto exacto nuevamente, ya que el texto eliminado se moverá al registro.
Quiero tener:
M:mock(Fnord)
cut-copy-paste
normal-mode
register
k0pernikus
fuente
fuente

0registro contendrá el último texto extraído.:h quote0vi)p. Es lo mismo que en esa respuesta, solo con eli)objeto de texto en lugar del objeto dewtexto,Respuestas:
Puede usar la selección visual para seleccionar el texto a reemplazar y luego pegarlo de la siguiente manera:
vi(pvi(selecciona Baz (porque está encerrado entre paréntesis),ppega Fnord sobre él.Sin embargo, esto arrastrará a Baz al registro después del pegado, lo que podría no ser lo que desea.
fuente
A menos que especifique un registro,
p(oP) usará el último registro que se completó. El registro sin nombre""contiene el texto eliminado o eliminado más recientemente (a menos que se haya especificado otro registro, por ejemplo, con"ay), pero estos también se"0utilizan"1para eliminar y eliminar o modificar. Ver registros .Si el último texto fue eliminado
y, puede pegarlo desde el0registro con"0P. Si se eliminó, puede acceder a él con el2registro con"2P("1es ahoraBaz).Alternativamente, puede evitar jugar con sus registros y eliminarlos en el registro de agujeros negros
"_:fuente
Si la instalación de complementos es una opción, puede usar yankstack.vim . Entonces podría retener su flujo de trabajo actual:
fuente
Asumiendo que "Fnord" está registrado, puede hacerlo (con el cursor al comienzo de la línea)
f(ci(<c-r>afuente