Eliminar del cursor hasta el primer carácter x (que abarca varias líneas)

12

Sé que puedo eliminar del cursor hasta e incluir la primera aparición de un carácter x con dfx. Esto solo funciona en una línea. ¿Cómo puedo eliminar desde la posición actual del cursor hasta la primera aparición de x cuando x no está en la misma línea?

Por ejemplo, si el cursor está después del primer espacio en

yada yada yada
yada yada yada x yada yada yada x

y escribo que dfxel resultado debe ser:

yada

Erwin Rooijakkers
fuente
2
en su ejemplo, parece que desea eliminar hasta la última aparición dex
guillem
@ Guillem tienes razón. Ese fue un error de copiar y pegar. De todos modos, traté de lograr lo que pedí en el ejemplo con el error, pero no pude hacerlo. Hice otra pregunta: eliminar del cursor hasta la enésima aparición del carácter x .
Erwin Rooijakkers

Respuestas:

21

Uso /para búsqueda hacia adelante:

d/x<CR>

y ?para búsqueda hacia atrás:

d?x<CR>
romainl
fuente
10

Quería comentar sobre la respuesta de romainl, ¡pero todavía no tengo suficiente reputación para hacerlo!

Aunque necesita una tecla más, creo que es útil hacerlo v/x<CR>dpara ver la parte que se está eliminando.

Amir H. Sadoughi
fuente
1
Esa es una respuesta válida. No es necesario ponerlo en un comentario. Solo estamos hablando de una sola pieza de software (con sus variaciones), por lo que no necesariamente necesita ser sofisticado para tener una respuesta válida que valga la pena.
Comodín el
@ErwinRooijakkers, debe seleccionar esta respuesta si es lo que usará ahora.
Paul Evans
@PaulEvans No estoy de acuerdo. Aunque esta respuesta tiene un valor más práctico para mí, creo que la respuesta aceptada proporciona una mejor respuesta a la pregunta formulada (ya que hace exactamente lo que se solicita, no pedí ver el texto resaltado primero).
Erwin Rooijakkers