2012-03-31 9 views
11

Ich bin auf der Suche nach Empfehlungen zur Verwendung von VIM als IDE. Ich code in der Regel in einer Reihe von Programmiersprachen, einschließlich C, C++, Assembler, MATLAB, Maple, BASH-Skripte, um nur einige zu nennen.VIM als IDE - Vorschläge

Im Allgemeinen verwende ich eine einzige IDE für den Großteil meiner Projekte aus Gründen der Konsistenz, und ich habe festgestellt, dass ich etwa 90% meiner gesamten Codierung in VIM ausführen, und gelegentlich Eclipse stattdessen für bestimmte verwenden Projekte in C/C++ (dh: Projekte, die Menschen bereits als Eclipse-Projekt oder PIC24/32-Projekte von www.microchip.com zusammengestellt haben).

Ich bin bereits sehr vertraut mit der grundlegenden Funktionalität von VIM (Windows vs Puffer, Textbearbeitung, Skripting), und möchte es als meine primäre IDE verwenden. Ich habe schon ein paar Tipps von hier genommen: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

ich bereits das nerdTree Plugin für das Durchsuchen von Verzeichnissen in einem Projekt verwenden, etc, aber ich brauche etwas über Code-Vervollständigung und Symbol Auflösung zu tun, wie meine beiden größten sind Bedenken.

  1. Symbol Auflösung
    • Ich habe einige begrenzte Erfahrung in der Verwendung von C-Tags und wollte einen Vorschlag, was ich, wenn ich mit einer sehr großen Code-Basis, die ich häufig ändern arbeite verwenden sollte. Die Projekte, an denen ich arbeite, ziehen normalerweise Header-Dateien aus mindestens einem Dutzend anderer Projekte, und ich würde gerne in der Lage sein, zu der Datei zu springen, in der eine Funktion, Konstante oder ein Makro schnell definiert wird (zB wie die CTRL-G Feature in Eclipse, "Sprung zur Definition", sowie schnell eine Liste aller Aufrufe/Referenzen auf eine Funktion/Makro/Konstante/etc (dh wie die STRG-SHIFT-G-Funktion in Eclipse, "Zeige alle Referenzen im Projekt oder aktuellen Arbeitsverzeichnis ").
  2. Tabulatorvervollständigung
    • Eines der Merkmale Ich mag in Visual Studio und Eclipse wirklich zum Beispiel ist, wenn ich in einem Variablennamen eingeben (zB: Zeiger auf struct) und es löst die Namen und Typen aller Strukturmitglieder und gibt mir eine tab completion Liste, um das passende Mitglied zu wählen. Sie weisen auch darauf hin, wenn ich "." vs "->" für Mitgliederzugriff. Ich habe versucht, SuperTab in VIM, aber ich konnte es einfach nicht funktionieren. Ich möchte auch die Tab-Vervollständigung die gleichen C-Tags verwenden, wie durch das Symbol Auflösung Plugin erzeugt
  3. Handhabung Build-Ausgabe
    • Der letzte Anliegen von mir ist eine automatisch generierte Liste der Build-Warnungen mit und bauen Fehler auf. Wenn ich zum Beispiel einfach "make all" an der Eingabeaufforderung der Befehlszeile ausfühle, ist es ein Schmerz, Code Listings durchlesen zu müssen, um alle Build-Warnungen manuell zu finden.

Ich weiß, das ist eine Menge zu stellen, und dass ich immer nur zu Visual Studio oder Eclipse sturz zurück, aber ich mag wirklich nur einen einfachen Cross-Plattform-Konsole fähige modalen Editor für all meine Entwicklungsbedürfnisse und keine der großen IDEs da draußen füllen dieses Bedürfnis.

Vielen Dank im Voraus.

+0

möglich Duplikat [Wie kann ich VIM ein vollwertiges IDE machen] (http://stackoverflow.com/questions/7206469/how-can-i-make-vim- a-full-fledged-ide) –

Antwort

7

ich denke (aber nicht überprüft), dass Eclim erfüllt # 1 und # 2, während ich sicher bin, dass SyntastiC# 3 erfüllt. Weitere Dinge von Interesse:

Und sind Sie sich bewusst omnicompletion über Ctrl -p und Strg-n (vor und nach) im Einfügemodus? Das ist keine Code-Vervollständigung, aber macht oft den Job.

+0

+1: Ich benutze eclim, das ist ** wirklich ** lebensverändernd für mich. Es erfüllt definitiv # 1 und # 2. Es unterstützt auch das Refactoring. (Ich verwende Eclim für Java nur jetzt, für C/C++ verwende ich Ctags + Indexer http://goo.gl/gkFPp, aber Eclim kann auch mit anderen Sprachen arbeiten. Ich habe es gerade noch nicht getestet.) –

3

Für die Auto-Vervollständigung (Punkt 2) verwende ich kompetent clang_complete.

Für eine schnelle Inbetriebnahme und einen Verweis, versuchen Sie diese Seite: http://zwiener.org/vimautocomplete.html

EDIT: Das ist für C, C++ und Objective-C nur.

2

Ich verwende die folgende Konfiguration in vim:

zipped file

Es wurde die automatische Vervollständigung basierend auf Tag-Liste, ctags, nerd Kommentator und einige weitere Plugins.

Hoffe, es hilft .. :)

+0

Ihr Verbindung ist tot. – Bobby

+1

Es tut mir leid, es funktioniert für mich. Ich habe es auch in einem anderen Browser versucht. Wie auch immer, versuche dies: [j.mp link] (http://j.mp/rajat_vim) oder [dies] (https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs

+1

Ihr letzter Link funktioniert, danke. Bitte hören Sie auch auf, URL-Shortener zu verwenden [es fällt uns schwer] (http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [loswerden von ihnen] (http://meta.stackexchange.com/questions/64450/ban-url-shorting-services). – Bobby

0

Ich habe seit etwa einem Jahr jetzt Vim als IDE im Einsatz. Alle meine Anpassung ist online at github.

Das sagte, ich glaube nicht, dass ein Vim-Anfänger anfangen sollte, vim so zu benutzen; eher denke ich, dass der Vim-Anfänger inkrementell lernen sollte. Die einzigen Änderungen, die ich denke, so wichtig sind, ich würde sie von Anfang an machen, sind:

  1. Neuzuordnung ESC
  2. Umschalten auf jk: und;
  3. Set Führer Schlüssel,
+0

Fair genug, Aber ich habe bemerkt, dass ich es bereits für 90% meiner Projekte verwende, also würde ich mich nicht als Anfänger qualifizieren. – DevNull

+0

@Dogbert Entschuldigung, ich habe die Frage nicht sorgfältig genug gelesen! – jdg

+0

Kein Schweiß. Prost! – DevNull