Vim Help Needed

Ovid on 2008-04-27T12:46:31

Searching through the vim documentation can be, um, painful. What I'm trying to do is create 'context menus'. For example, if I type {ctrl-p} for keyword completion, I often get a helpful menu offering choices I can scroll through. Is this available via a public API I can populate myself with bog-standard vim? (not the GUI version).


dictionary

depesz on 2008-04-27T14:08:35

run: :help dictionary

i think this is what you need.

you might want to add this to your .vimrc:

function! MyFileStartup()
        set complete-=k complete+=k
        if exists("b:current_syntax")
                let &dictionary = substitute("~/.vim/dict/FT.dict", "FT", b:current_syntax, "")
        endif
endfunction

autocmd BufRead,BufNewFile * call MyFileStartup()

with this - you can store per-filetype dictionaries in ~/.vim/dict/FILETYPE.dict

Vim Hacking

wtgee on 2008-04-27T15:50:41

I really did get a lot of of the Vim Hacking book, including how to do things like this:

http://www.packtpub.com/Vim/book

First guess:

Aristotle on 2008-04-27T16:02:36

:help completion

And hey lookit. That gets you to insert.txt chapter 7, which is all about the completion feature.

Re:First guess:

Ovid on 2008-04-27T22:30:54

I think I didn't explain myself well. I don't care about the completion feature. I care about the little menu with completion possibilities that pops up in my editor. I very much want to create my own menus and take actions based on user selection. For example, if someone types ',gt' (goto test), I'd like a pop up showing all tests which cover the current program and let the user scroll through the tests for the one they want.

Re:First guess:

Aristotle on 2008-04-28T00:29:53

One easy avenue might be :help console-menus.

The customary way is do what the explorer and quickfix features do, though: create a new window that binds a bunch of keys to special functions.

I use an autocomplete plugin

Phred on 2008-04-27T20:50:35

There is an autocomplete example in my vim presentation that I gave to SF.pm. It might have some useful parts.