I was also using dahu/vim-fanfingtastic for some time and found it very helpful. It supports semantic repeats with .
thanks to the library tpope/repeat.vim which you must also install.
An alternative is chrisbra/improvedft which does more or less the same thing.
rhysd/clever-f.vim has an option to enable multi-line seeking, although its primary feature is to allow f
to repeat the current seek, like ;
does already.
Those all handle ;
and ,
keys as expected.
The disadvantage with multi-line f
and t
is that if you hit the wrong key, you will be taken off the current line to somewhere unexpected in the file. Ctrl-O can help in those moments. (This can be dangerous with a c
change if you don't realise that you just swallowed a few lines, but those were only teething troubles for me.)
There are other related plugins, with slightly different approaches, such as justinmk/vim-sneak and goldfeld/vim-seek which prompt for two characters, making it easier (but still not guaranteed) to hit your target location.
And then there is easymotion/vim-easymotion. This offers a lot of powerful motion keys, some of which require an extra keypress or two to confirm the target character when there are many candidates.
But currently I'm using a home grown solution. I worked with the author of EasyMotion to make f
and t
flash count markers over all the matching characters ahead of you.

This acts as a natural count assistant for vanilla vim motions. When you try to move somewhere with fx
but then discover there are more x
s in the way than you thought, you can read the number that flashed over the character you were aiming for, and then do [count];
to jump there.
You can find the branch here. Be sure to read the section Add helpful hinting to set up the key mappings.
However for c
change operations, it is still preferable to get it right the first time. In those cases I recommend spending an extra keystroke in v
Visual mode, or using one of EasyMotion's guaranteed jumps.
d/a
to delete to the nexta
andc/.
to delete to the next.
. If you usehlsearch
and don't want it when doing this operation, you can create a mapping which does yourd/
operation and then disables the highlighting (ends with:nohlsearch
).g:clever_f_across_no_line
set to 0 and other options enabled/disabled at will).