Frage

Ich will Vim 's Abschluss Menü mehr wie die arbeiten in Visual Studio. Ich möchte in der Lage, den Start einer Variablen zu schreiben (oder etwas, was Abschluss verfügbar ist), drücken Sie die omni-Completion-Tasten und den Abschluss-Menü. Jetzt möchte ich die Fertigstellung Menü um die beste Übereinstimmung zu markieren, aber nicht auf dem Puffer hinzuzufügen. Jetzt möchte ich in der Lage sein, das ausgewählte Element entweder getroffen ENTER zur Eingabe oder mehrere Buchstaben eingeben Abschluss Menü filtern noch mehr (möglicherweise ein neues Element in dem Abschluss-Menü Hervorhebung) und dann drücken Sie die Eingabetaste einzufügen.

Die Wiki-Seite / Tipps unter http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE sollte, dies tun, aber ich kann es nicht zu arbeiten. Hat jemand anderes den Code aus dieser Spitze versuchte und machte es arbeiten, wie ich beschreiben?

War es hilfreich?

Lösung

Die referenzierte Wiki-Seite enthalten sind gebrochene Zuordnungen. Ein Benutzer (Spiiph) änderte den Vim Code auf etwas, das ihm besser aussah, war aber nicht richtig. Ich umgekehrt die Veränderungen, die er gemacht und jetzt die inoremap Aussagen funktionieren sollte.

Um Verwirrung zu vermeiden, dass diese die richtigen Befehle sind IMHO:

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: Wenn es um die Verwendung von Vims Vervollständigungsfunktion kommt fand ich die SUPERTAB Skript   sehr angenehm. Vielleicht dieses Skript ist auch für Sie interessant in diesem Zusammenhang ...

Andere Tipps

Ich benutze SUPERTAB, die ich mag und die folgende scheint sehr gut zu funktionieren:

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

Als Referenz. Ich bin mit Debian sid, und das funktioniert sowohl für vim 7.2.245 und für meine gepatchte 7.2.259

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top