Domanda

Sorprendentemente, come si ottiene bravo a vim, codice anche più veloce rispetto allo standard Ide come Eclipse.Ma una cosa che mi manca davvero è il completamento del codice, specialmente per lunghi nomi di variabili e funzioni.

C'è un modo per abilitare il completamento del codice per il Perl in vim?

È stato utile?

Soluzione

Ctrl-P (Get Partita Precedente) e Ctrl-N (Prossimo Incontro) sono una specie di pseudo completamento del codice.Si tratta fondamentalmente di ricerca file (all'Indietro per Ctrl-P, In avanti per Ctrl-N) la modifica (e qualsiasi apertura buffer, e se si utilizza il TAG a qualsiasi cosa nel vostro file di TAG) per parole che iniziano con ciò che si sta digitando e aggiungere un menu a discesa.Funziona sorprendentemente bene per le variabili e i nomi di funzione, anche se non è intellisense.In genere io uso Ctrl-P come la variabile o la funzione che sto cercando è di solito dietro nel codice.Anche se si mantiene la stessa copia di Vim aperto, sarà possibile cercare i file aperti in precedenza.

Altri suggerimenti

Vim 7 supporta omni completamento.

Per esempio, ho questo nel mio vimrc

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

e poi, quando premo Ctrl-x Ctrl-o in modalità di Inserimento, ho un elenco di completamento automatico possibilità.

Ecco un omnicfunc per perl.Nessuna idea di come funziona però.

Beh, Vim generico meccanismo di completamento è sorprendentemente buona, solo con la combinazione Ctrl-N in modalità di inserimento.Inoltre, il completamento automatico è molto comodo, l'utilizzo di C-x C-l.

Controllare anche questo vim script perl.

Standard CTRL-N e CTRL-P funziona ancora meglio se si aggiunge il seguente al file ~/.vim/ftplugin/perl.vim file:

set iskeyword+=:

Sarà quindi auto-completa il modulo di nomi, etc.

L' .vimrc clip in una delle altre risposte è leggermente sbagliata.Per attivare il tasto di tabulazione in un auto-completo di chiave, uso questo codice:

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

Potete trovare questa e altre tonnellate di vim trucchi in questo thread a Perlmonks--che link ad altri thread con molte più personalizzazioni.

Si dovrebbe guardare il SuperTab plugin:http://www.vim.org/scripts/script.php?script_id=1643 Ti permette di fare il completamento (il OmniCompletion o il regolare completamento) utilizzando il tasto tab e shift-tab invece di ^N ^P.

Ctrl+N

Questo è spiegato in Perl Hack libro, insieme con il modo di fare Pacchetto di completamento.Altamente raccomandato.

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