Domanda

Vim s ' menu di completamento di lavorare più come quello in Visual Studio. Voglio essere in grado di scrivere l'inizio di una variabile (o qualcosa che il completamento è disponibile), premere i tasti omni-completamento e ottenere il menu di completamento. Ora voglio il menu di completamento per evidenziare la migliore corrispondenza, ma non inserirlo nel buffer. Ora voglio essere in grado di colpire sia ENTER per inserire l'elemento selezionato o immettere più lettere per filtrare il menu di completamento ancora di più (possibilmente mettendo in evidenza una nuova voce nel menu di completamento) e poi premere Invio per inserire.

La pagina wiki / punte a http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE dovrebbe fare questo, ma non riesco a farlo funzionare. Ha qualcun altro ha provato il codice da quella punta e ha reso il lavoro come ho descritto?

È stato utile?

Soluzione

La pagina wiki di riferimento contenuta mappature rotti. Un utente (Spiiph) ha cambiato il codice di Vim per qualcosa che sembrava meglio di lui, ma non era giusto. Ho invertito i cambiamenti che ha fatto e ora il inoremap dichiarazioni dovrebbe funzionare.

Per evitare confusione questi sono IMHO i comandi giusti:

inoremap <expr> <c-n> pumvisible() ? "\<lt>c-n>" : "\<lt>c-n>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"
inoremap <expr> <m-;> pumvisible() ? "\<lt>c-n>" : "\<lt>c-x>\<lt>c-o>\<lt>c-n>\<lt>c-p>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"

PS: quando si tratta di utilizzare funzionalità di completamento di Vim ho trovato il sceneggiatura SuperTab   molto conveniente. Forse questo script è interessante anche per voi in questo contesto ...

Altri suggerimenti

Io uso supertab, che mi piace molto, e la seguente sembra funzionare grande:

imap <expr> <Tab> pumvisible() ? "<Tab>" : "<Tab><Down>"

Per riferimento:. Io corro debian sid, e questo funziona sia per vim 7.2.245 e per la mia patch 7.2.259

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top