Standard Vim completion supposes that you type in the beginning of the word, then press
CTRL-N, and get all the words that begin with the prefix you typed in.
In my situation, prefixes are mostly the same, and I don't quite remember them, but I know exactly what's "inside" the word I want to complete.
E.g.: 3 prefixes, 0_, 1_, 2_, and about 100 of keywords built on top of them (e.g. 0_keys, 0_car, 1_weekend, 1_store, 2_weather, 2_elephant).
I want to be able to use some way to complete the word without typing in the prefix. E.g. use some hot key, or sequence of hotkeys, type in "elep", then maybe some more hotkeys, and have it expand to "2_elephant".
- I don't really need "true fuzzy" completion, as in CtrlP, when you can use any sequence of letters -- it's enough to work on a substring (as in InteliSense).
- I'm fluent with vimscript, so if there's an API that allows to implement custom completion in input mode -- please let me know how to access it!
- If there are functions in CtrlP that could help here with some extra scripting -- please point me to them.
- Abbreviations (:abbr) does not work because list of these words is dynamic, maintaining them as a separate .vim file with list of abbr commands does not make much sense.
- There might just as well be an obvious solution, like a well-known plug-in, I just don't know that much about plugins developed last 5-10 years.
Thanks in advance. Any help is much appreciated.