Question

Je veux menu achèvement Vim de pour travailler plus comme celui dans Visual studio. Je veux être capable d'écrire le début d'une variable (ou quelque chose qui est disponible fin), appuyez sur les touches omni-complétion et obtenir le menu d'achèvement. Maintenant, je veux le menu d'achèvement pour mettre en évidence le meilleur match, mais pas l'ajouter à la mémoire tampon. Maintenant, je veux être en mesure soit frapper ENTRER pour saisir l'élément sélectionné ou entrez plusieurs lettres pour filtrer le menu d'achèvement encore plus (peut-être mettre en évidence un nouvel élément dans le menu d'achèvement), puis appuyez sur Entrée pour insérer.

La page wiki / conseils http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE est censé faire cela, mais je ne peux pas le faire fonctionner. Est-ce que quelqu'un d'autre a essayé le code de cette astuce et fait le travail que je décris?

Était-ce utile?

La solution

La page wiki référencé contenait les correspondances brisées. Un utilisateur (Spiiph) a changé le code vim pour quelque chose qui ressemblait mieux lui, mais n'a pas droit. J'inversé les changements qu'il a apportés et maintenant inoremap déclarations doivent travailler.

Pour éviter toute confusion ces sont à mon humble avis les commandes à droite:

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: En ce qui concerne l'utilisation de la fonction d'achèvement de Vim j'ai trouvé le scénario SuperTab   très pratique. Peut-être que ce script est aussi intéressant pour vous dans ce contexte ...

Autres conseils

J'utilise SuperTab, que je aime vraiment, et ce qui suit semble fonctionner à merveille:

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

Pour référence:. Je cours debian sid, et cela fonctionne aussi bien pour vim 7.2.245 et pour mon patché 7.2.259

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top