Veit Schiele Communications

Veit Schiele Communications
StartseiteDienstleistungenTechnische DokumentationPythonvimAutovervollständigung, Abkürzungen und AutoCommands

Autovervollständigung, Abkürzungen und AutoCommands

erstellt von Veit Schielezuletzt verändert: 06.07.2012 19:33 © Veit Schiele 2007–2012

Autovervollständigung

Mit vim lässt sich Code automatisch vervollständigen:

[CTRL]-P
sucht rückwärts nach einer Zeichenkette, die der bereits getippten entspricht.
[CTRL]-N
sucht vorwärts nach einer Zeichenkette, die der bereits getippten entspricht.
Pydiction
Python-Wörterbuch, das ebenfalls durchsucht wird. Zudem wird die Autovervollständigung auch beim Drücken der Tabulatortaste verfügbar.

Installation

  1. Herunterladen und installieren:

    $ wget http://www.vim.org/scripts/download_script.php?src_id=11062 -O pydiction-1.2.zip
    $ unzip pydiction-1.2.zip
    $ mv pydiction-1.2/python_pydiction.vim  ~/.vim/after/ftplugin/
    $ mv pydiction-1.2 ~/.vim/after/ftplugin/
    
  2. Aktivieren der Filetype Plugins Setzen des Pfads auf das Python Dictionary:

    $ vim ~/.vimrc
    …
    " Activate filetype plugins
    filetype plugin on
    " Set path to pydiction
    let g:pydiction_location = '/home/veit/.vim/after/ftplugin/pydiction-1.2/complete-dict'
    

Abkürzungen (Abbreviations)

Abkürzungen vereinfachen ebenfalls die Eingabe, So kann z.B. im Insert-Mode pdb durch import pdb;pdb.set_trace() ersetzt werden, wenn in der ~/.vimrc folgendes angegeben ist:

iab pdb import pdb;pdb.set_trace()<Left>

Dabei verschiebt <Left> der Cursormarke nach links.

Auch ein aktueller Zeitstempel lässt sich so einfügen:

iab sft <c-r>=strftime("%Y-%m-%d %H:%M %Z")<cr>

AutoCommands

Für verschiedene Dateitypen stehen auch spezielle Autovervollständigungen zur Verfügung. Um diese AutoCommands zu nutzen, kann in der .vimrc z.B. folgendes eingetragen werden:

autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS