In recent days I use a lot of vimscript and it would be helpful to have some autocompletion.

Like when I write jo the autocompletion would recommend me to write join.

I have installed YouCompleteMe, but its hard to search in the internet for vimscript autocompletion because of the ambiguity.

  • 3
    I recommand : github.com/Shougo/neocomplete.vim, There is autocompletion for vimscript :)
    – nobe4
    Aug 4, 2015 at 9:13
  • 1
    I'm not sure what exactly are you asking for. YouCompleteMe does autocomplete vimscript key words. Are you asking for autocomplete plugin written entirely in vimscript? Also I believe that vimscript autocompletion is builtin in the omnicompletion.
    – dkns
    Aug 4, 2015 at 11:19
  • maybe it is not clear, i want something that gives me all the vimscript functions like when I write somethin in vimscript, it autocompletes like the internal join function or bpre and it suggests bprevious like i have when i write an ex-command. Somethink like autocmd FileType vim set omnifunc=????????
    – philolo1
    Aug 4, 2015 at 18:53
  • But that's exactly what YCM does: asciinema.org/a/1c2gyfpft51rnoptt86bjvvwr This is youcompleteme running in vim 7.3. You stated that you have YCM installed. Are you not happy with it and looking for something else or does it not work for you?
    – dkns
    Aug 4, 2015 at 22:03
  • You can search in vim-scripts.org . I have seen vimscript autocompletion plugin there
    – SibiCoder
    May 13, 2016 at 18:18

3 Answers 3


The OP's question is whether there is a good omnifunc for Vimscript itself, such as offering semantically or syntactically are completion suggestions for vimscript functions, variables, etc. A number of answers just note general autocompletion plugins like YCM and snippet plugins like UltiSnips.

So to answer the original question: Yes, there's vim-verdin: https://github.com/machakann/vim-Verdin. It's surprisingly good at vimscript suggestions, and seems to be getting better.

But be warned though that at the time of writing it doesn't work perfectly with YCM (I would know as the YCM maintainer!). It works well enough that I use it regularly however. Disabling g:verdin#autocomplete and enabling g:verdin#cooperativemode allows you to hit ctrl-space for completion suggestions from verdin.

  • I'm pretty new to Vimscript, so this might not matter at all, but the documentation for Verdin uses g:Verdin#autocomplete (upper-case V instead of lower-case). Also, in case anyone else wonders about auto-triggering: The semantic triggers need to be manually defined through let g:ycm_semantic_triggers. I used 'vim': ['#', ':'], which seems to work fine. Manual triggering with ctrl-space works anywhere
    – Zoe
    Jul 20, 2019 at 13:53

Vim actually has a native autocomplete engine. It's not as fully featured as neocomplete or YCM, but it's fast and usually gets the job done. You can find out more about it with :h i_ctrl-x.


I've tried neocomplete and snipmate. There are others that I haven't tried like youcompleteme and ultisnips that may help. This last one (ultisnips) looks very nice. Check the image.

enter image description here

One last sugggestion, for snipmate and ultisnips don't forget to install the 'honza/vim-snippets' plugin.

Hope it helps.

  • 1
    OP mentioned that he already tried YCM. You mentioned ultisnips which isn't an autocompletion plugin but snippets plugin which contains like 3 vimscript related snippets.
    – dkns
    Aug 4, 2015 at 15:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.