Question

Étonnamment comme vous le faites bien de vim, vous pouvez même plus rapide que la norme Ide comme Eclipse.Mais une chose me manque vraiment la complétion de code, en particulier pour les longs noms de variables et de fonctions.

Est-il possible d'activer la complétion de code Perl dans vim?

Était-ce utile?

La solution

Ctrl-P (Get Match Précédent) et Ctrl-N (Get Prochain Match) sont une sorte de pseudo-code d'achèvement.Ils se sont contentés de rechercher le fichier (en Arrière pour Ctrl-P, En avant pour Ctrl-N que vous modifiez (et de tous les tampons, et si vous êtes à l'aide de BALISES quoi que ce soit dans votre BALISE de fichier) pour les mots qui commencent avec ce que vous tapez et ajouter une liste déroulante.Il fonctionne étonnamment bien pour les variables et les noms de fonction, même si elle n'est pas intellisense.Généralement j'utilise Ctrl-P comme la variable ou de la fonction, je suis à la recherche est généralement derrière dans le code.Aussi, si vous gardez la même copie de Vim ouvrir, il va chercher les fichiers que vous avez ouvert précédemment.

Autres conseils

Vim 7 prend en charge l'omni achèvement.

Par exemple, j'ai ceci dans mon vimrc

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

et puis, quand j'appuie sur Ctrl-x Ctrl-o en mode Insertion, j'obtiens une liste déroulante de possibilités de saisie semi-automatique.

Voici un omnicfunc pour perl.Aucune idée de la façon dont il fonctionne bien.

Eh bien, Vim générique du mécanisme d'auto-complétion est étonnamment bonne, juste à l'aide de Ctrl-N en mode insertion.Aussi, la ligne d'achèvement est très pratique, à l'aide de C-x C-l.

Consultez également cette vim script perl.

La norme CTRL-N et CTRL-P encore mieux si vous ajoutez ce qui suit à votre ~/.vim/ftplugin/perl.vim fichier:

ensemble iskeyword+=:

Il sera alors l'auto-complétion de noms de modules, etc.

L' .vimrc clip dans l'une des autres réponses, c'est un peu mal.Pour activer la touche de tabulation dans une auto-clé complète, utilisez ce code:

inoremap <tab> <c-r>=InsertTabWrapper()<cr>

function! InsertTabWrapper()
    let col = col('.') - 1
    if !col || getline('.')[col - 1] !~ '\k'
        return "\<tab>"
    else
        return "\<c-p>"
    endif
endfunction

Vous pouvez trouver de cette, et des tonnes d'autres vim astuces dans ce thread à Perlmonks--liens qui à encore plus de threads, avec beaucoup plus de personnalisations.

Vous devriez regarder la Superbalance plugin:http://www.vim.org/scripts/script.php?script_id=1643 Il vous permet de faire achèvement (soit le OmniCompletion ou la réalisation périodique) en utilisant les touches tab et maj-tab au lieu de ^N et ^P.

Ctrl+N

C'est expliqué dans le Perl Hacks livre, avec la façon de faire de Paquet d'achèvement.Fortement recommandé.

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