¿Hay alguna manera de que t{char}
y f{char}
continuará trabajando en las siguientes líneas si {char}
no está presente en una línea determinada?
Me gustaría evitar usar /{char}<CR>
para guardar 1 pulsación de tecla y no tener resaltado de búsqueda, especialmente cuando necesito esto en combinación con verbos (por ejemplo dfa
, ct.
).
cursor-motions
cbaumhardt
fuente
fuente
d/a
para eliminar a la siguientea
yc/.
eliminar a la siguiente.
. Si lo usahlsearch
y no lo desea al realizar esta operación, puede crear una asignación que realice sud/
operación y luego deshabilite el resaltado (termina con:nohlsearch
).g:clever_f_across_no_line
conjunto a 0 y otras opciones habilitadas / deshabilitadas a voluntad).Respuestas:
También estuve usando dahu / vim-fanfingtastic durante algún tiempo y lo encontré muy útil. Admite repeticiones semánticas
.
gracias a la biblioteca tpope / repeat.vim, que también debe instalar.Una alternativa es chrisbra / betterft que hace más o menos lo mismo.
rhysd / clever-f.vim tiene una opción para habilitar la búsqueda multilínea, aunque su característica principal es permitir
f
repetir la búsqueda actual, como;
ya lo hace.Esos todos manejan
;
y,
llaves como se esperaba.La desventaja con varias líneas
f
yt
es que si se pulsa la tecla equivocada, se le llevará fuera de la línea actual a algún lugar inesperado en el archivo. Ctrl-Opuede ayudar en esos momentos (Esto puede ser peligroso con unc
cambio si no te das cuenta de que acabas de tragar algunas líneas, pero esas fueron solo problemas iniciales para mí).Hay otros complementos relacionados, con enfoques ligeramente diferentes, como justinmk / vim-sneak y goldfeld / vim-seek que solicitan dos caracteres , lo que hace que sea más fácil (pero aún no está garantizado) alcanzar la ubicación de destino.
Y luego está easymotion / vim-easymotion . Esto ofrece muchas teclas de movimiento potentes , algunas de las cuales requieren una pulsación de tecla adicional o dos para confirmar el personaje objetivo cuando hay muchos candidatos.
Pero actualmente estoy usando una solución local. Yo trabajé con el autor de EasyMotion hacer
f
yt
parpadeará marcadores recuento sobre todos los caracteres que coinciden por delante de usted.Esto actúa como un asistente de conteo natural para los movimientos de vainilla vim. Cuando intentas moverte a algún lado
fx
pero luego descubres que hay másx
s en el camino de lo que pensabas, puedes leer el número que apareció sobre el personaje al que estabas apuntando y luego[count];
saltar.Puedes encontrar la sucursal aquí . Asegúrese de leer la sección Agregue sugerencias útiles para configurar las asignaciones de teclas.
Sin embargo, para las
c
operaciones de cambio, todavía es preferible hacerlo bien la primera vez . En esos casos, recomiendo gastar una pulsación de tecla adicional env
modo Visual, o usar uno de los saltos garantizados de EasyMotion.fuente
hay un complemento que hace lo que parece querer, como lo afirma VanLaser.
https://github.com/dahu/vim-fanfingtastic
Ahora requiere que el complemento de repetición funcione correctamente, por lo que también lo necesitará:
https://github.com/tpope/vim-repeat
fuente