|
|
Vim als IDE
Vim bietet bereits von sich aus vieles, was eine gute IDE (Integrated Development Environment)
ausmacht. Aber eben nicht alles, so fehlen z.B. eine Projektverwaltung, eine Software-Versions-Kontrolle
oder ein integrierter Debugger. Durch externe Programme und durch Plugins (Skripten) können fehlende
Features, die das Programmiererherz höher schlagen lassen, jedoch nachinstalliert werden.
An dieser Stelle soll ein grober Überblick darüber gegeben werden, was Vim in Hinblick auf eine IDE bereits kann und
welche Skripten es gibt, um aus Vim eine "richtige" und den eigenen Ansprüchen entsprechende IDE zu machen.
|
Was Vim bietet
|
|
Hier ist eine Liste der interessantesten Features, die Vim für Programmierer bereitstellt.
In Klammern steht, wo in der Vim-Dokumentation weitere Informationen zur jeweiligen Funktionalität
gefunden werden können.
- Folding (:help folding)
- Syntax-Highlighting (:help syntax)
- automatisches Einrücken, Indenting ( :help indent.txt )
- erweiterte Suchfunktionen
- Suche in aktueller Datei einschließlich der inkludierten Dateien (:help include-search)
- Suche nach lokalen und globalen Identifiern (:help gd; :help gD)
- Suche über mehrere Dateien hinweg (:help grep; :help quickfix)
- dateiübergreifendes Ersetzen (:help argdo; Kapitel "Repeating - Making a change in many files")
- Schnittstelle zum Compiler (:help make; :help quickfix)
- Sessionsmanagment (:help views-sessions)
- Schnittstelle zu ctags und cscope (:help ctags; :help cscope)
- Funktionsparameter anzeigen ( :help preview-window)
- Navigieren im Source-Code (:help tags; :help various-motions)
- Undo/Redo (:help undo-commands)
- Macros (:help repeating)
- Editieren/Anzeigen mehrerer Dateien gleichzeitig (:help windows)
Weitere Infos bieten die Kapitel "Moving through programs" und "Editing programs" in der Vim-Dokumentation.
|
Tools
|
|
Die beiden Tools ctags und grep sind ein absolutes Muß. Sie gibt es für alle gängigen
Plattformen.
|
Skripten
|
|
|
project
|
Stellt eine Projektverwaltung zur Verfügung. Das Projekt kann hierarchisch - unabhängig
von der Verzeichnisstruktur - gegliedert werden. Es können außerdem mehrere Projekte
gleichzeitig verwaltet werden. Der Wechsel zwischen verschiedenen Projekten ist so sehr
schnell möglich.
Autor: Aric Blumer
Quelle: Vim Online
|
|
winmanager
|
Bietet neben den Fenstern, in denen der eigentliche Source-Code bearbeitet wird, zwei weitere
Fenster an. Einen File-Explorer und einen Puffer-Explorer.
Der Puffer-Explorer wird automatisch beim Laden/Schließen von Dateien upgedated.
Über den File-Explorer können z.B. weitere Dateien eines Projekts geladen werden.
Man kann winmanager als eine Art Projektverwaltung verstehen, allerdings läßt sich
das Projekt nicht wie bei project hierarchisch gliedern sondern nur auf Dateiebene.
Der Nachteil: man sieht nur ein Verzeichnis gleichzeitig und alle Dateien, die sich in
diesem Verzeichnis befinden, egal ob sie Teil des Projekts sind oder nicht.
Ich persönlich bevorzuge inzwischen die Kombination project und bufexplorer gegenüber
winmanager.
Autor: Srinath Avadhanula
Quelle: Vim Online
|
|
gdbvim
|
Integriert den gdb in Vim.
Benötigt Perl.
Autor: Tomas Zellerin
Quelle: Vim Online
|
|
idevim
|
Integriert den gdb in Vim.
Benötigt externes Programm, um den gdb anzusteuern.
Autor: K T Lighish
Quelle: Vim Online
|
|
vimDebug
|
Integriert folgende Debugger in Vim: gdb, perl debugger, pdb, jdb
Benötigt Perl.
Autor: Eric Johnson
Quelle: Vim Online
|
|
cvscommand
|
Ermöglicht das Steuern der Source-Code-Verwaltung cvs von Vim aus.
Autor: Robert Hiestand
Quelle: Vim Online
|
|
cvsmenu
|
Ermöglicht das Steuern der Source-Code-Verwaltung cvs von Vim aus.
Autor: Thorsten Maerz
Quelle: Vim Online
|
|
bufexplorer
|
Das Skript listet die geöffneten Puffer auf und ermöglicht den komfortablen Wechsel zwischen
verschiedenen Puffern.
Autor: Jeff Lanzarotta
Quelle: Vim Online
|
|
minibufexpl
|
Alle Puffer werden in einem ständig geöffneten Fenster kompakt dargestellt.
Autor: Bindu Wavell
Quelle: Vim Online
|
|
selectbuf
|
Pufferexplorer, der in vielen Belangen konfiguriert werden kann.
Autor: Hari Krishna Dara
Quelle: Vim Online
|
|
ctags
|
Listet die Dateien des aktuellen Verzeichnisses auf. Für diese Dateien kann eine nach
Variablen, Klassen, Strukturen, Funktionen usw. gruppierte Tag-Liste erstellt werden.
Benötigt exuberant ctags
Autor: Gary Johnson
Quelle: Vim Online
|
|
tagexplorer
|
Listet die Dateien des aktuellen Verzeichnisses auf. Für diese Dateien kann eine nach
Variablen, Klassen, Strukturen, Funktionen usw. gruppierte Tag-Liste erstellt werden.
Benötigt exuberant ctags
Autor: Yegappan Lakshmanan
Quelle: Vim Online
|
|
tagmenu
|
Die Definitionen einer Source-Code-Datei werden gruppiert nach Variablen, Klassen, Strukturen, Funktionen,
Makros usw. in einem Menü aufgelistet.
Benötigt exuberant ctags
Autor: Yegappan Lakshmanan
Quelle: Vim Online
|
|
taglist
|
Listet die Definitionen einer Source-Code-Datei gruppiert nach Variablen, Klassen, Strukturen, Funktionen,
Makros usw. in einem separaten Fenster auf. Bietet darüber hinaus noch weitere Features wie z.B. Anzeige
des Prototyps, automatisches Updaten der Tag-Liste beim Öffnen neuer Dateien...
Benötigt exuberant ctags version 5.0 oder neuer
Autor: Yegappan Lakshmanan
Quelle: Vim Online
|
|
a
|
Ermöglicht schnellen Wechsel zwischen Code-Datei und der dazugehörigen Header-Datei.
Autor: Mike Sharpe
Quelle: Vim Online
|
|
calendar
|
Kalender, damit man den Abgabetermin für die neue Software
näher rücken sieht ;-)
Autor: Yasuhiro Matsumoto
Quelle: Vim Online
|
|
CRefVim
|
C-Reference-Manual, siehe hier
|
|
GrepUtil
|
dateiübergreifende Suche nach markiertem Wort, Wort unter dem Curosr, oder
Suchstring; siehe hier
|
|
PrtDialog
|
Drucker-Einstellungen, siehe hier
|
|
TransVim
|
Nachschlagen im Wörterbuch, siehe hier
|
|