Gibt es eine Möglichkeit, die Codevervollständigung für Perl in vim zu aktivieren?

StackOverflow https://stackoverflow.com/questions/54104

  •  09-06-2019
  •  | 
  •  

Frage

Überraschenderweise können Sie, je besser Sie vim beherrschen, sogar noch schneller programmieren als mit Standard-IDEs wie Eclipse.Aber eine Sache, die ich wirklich vermisse, ist die Code-Vervollständigung, insbesondere bei langen Variablennamen und Funktionen.

Gibt es eine Möglichkeit, die Codevervollständigung für Perl in vim zu aktivieren?

War es hilfreich?

Lösung

Strg - P (Get Vorheriges Spiel) und Strg - N (Get Next Match) sind Art von Pseudocode-Abschluss. Sie suchen im Grunde die Datei (rückwärts für Strg - P , Forwards für Strg - N ) Sie bearbeiten ( und alle geöffneten Puffer, und wenn Sie TAGS nichts in Ihrem TAG-Datei verwenden) für Wörter, die mit beginnen, was Sie tippen und eine Dropdown-Liste hinzuzufügen. Es funktioniert überraschend gut für Variablen und Funktionsnamen, auch wenn es nicht Intellisense ist. Im Allgemeinen verwende ich Strg - P als die Variable oder Funktion die ich suche ist in der Regel hinter im Code. Auch wenn Sie die gleiche Kopie von Vim offen zu halten, werden die Dateien suchen, die Sie vorher geöffnet haben.

Andere Tipps

Vim 7 unterstützt omni Fertigstellung.

Zum Beispiel, ich habe dies in meinem vimrc

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

und dann, wenn ich die Taste Strg-x Strg-o in Insert-Modus, habe ich eine Dropdown-Liste mit dem automatischen Vervollständigung Möglichkeiten.

Hier ist ein omnicfunc für Perl . Keine Ahnung, wie gut es funktioniert aber.

Nun, Vims generic Vervollständigungsmechanismus ist überraschend gut, nur mit Strg-N im Einfügemodus. Auch Linie Abschluss ist sehr praktisch, C-x C-l verwendet wird.

Sie können auch dieses vim Skript für Perl .

Der Standard CTRL-N und CTRL-P Arbeit noch besser, wenn Sie fügen Sie folgendes zu Ihrem ~ / .vim / ftplugin / perl.vim-Datei:

  

gesetzt iskeyword + =:

Es wird dann die automatische Vervollständigung Modulnamen, etc.

Der .vimrc Clip in einer der anderen Antworten ist etwas falsch. So schalten Sie Ihre Tab-Taste in eine automatische Vervollständigung Schlüssel, diesen Code verwenden:

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

Sie können diese finden, und Tonnen von anderen vim Tricks in dieser Gewinde an PerlMonks --which Links zu noch mehr Themen mit viel mehr Anpassungen.

Sie sollten das SUPERTAB Plugin sehen: http://www.vim.org/scripts/script.php?script_id= 1643 Es lässt Sie tun Abschluss (entweder die OmniCompletion oder der regelmäßige Abschluss) mit Tab und Shift-Tab statt ^ N und ^ P.

Strg + N

Dies ist in der Perl Hacks Buch erklärt, zusammen mit, wie Package Fertigstellung zu tun. Sehr zu empfehlen.

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