... oder wird vi / vim nur bei der Entwicklung auf einem Nicht-Windows-Betriebssystem verwendet?
Wenn nicht, welche Funktion (en) bietet vim, dass moderne IDEs wie Eclipse dies nicht tun? Warum sollte man bei der Entwicklung auf einer Windows-Workstation vim über Eclipse (oder IntelliJ, Websphere oder andere funktionsreiche IDEs) verwenden? Beachten Sie, dass ich mich auf Java-Entwicklung und teilweise kompilierte Sprachen beziehe, nicht auf Shell-Skripte oder andere Formen von Skripten.
Java ist eine lächerlich komplizierte Sprache und ich kann mir keine einzige Person vorstellen, die alle Methodenparameter und Rückgabetypen selbst der eingebauten Klassen im JDK auswendig gelernt hat. Da Java über JavaDoc-Kommentare selbstdokumentiert und diese in manuelle Seiten umwandelt, scheint es sinnlos, wenn Sie eine IDE wie Eclipse haben, die die spezifische Dokumentation für eine bestimmte Methode oder Klasse aufruft.
Kurz gesagt, wenn Sie (g) Vim verwenden, wenn Sie nicht mit schweren Erweiterungen arbeiten, fliegen Sie die meiste Zeit blind und haben den Großteil der Logik in Ihrem Kopf herausgefunden (oder Sie Verwenden Sie screen(1)
und lassen Sie die Manpage auf dem anderen Terminal öffnen.)
Ich bin ein großer Fan von Vim, aber für größere, Bibliothek-lastige Sprachen wie Java würde ich nichts anderes als Eclipse verwenden. Ein Freund von mir hat einmal vermutet, dass Java-Entwicklung ohne eine intelligente IDE fast unmöglich ist und ich stimme zu.
Wenn Sie an einen mächtigen "Texteditor" gewöhnt sind, sei es vim oder Emacs (keine flamewars hier), kann es zur Zeit sehr schwierig sein, einen "kleineren" Texteditor zu verwenden, wie diejenigen, die standardmäßig von den verschiedenen IDEs bereitgestellt werden.
Was ich mache ist einfach: Manchmal muss ich Dinge in meiner .java Quelldatei machen, die einfach unter Emacs ausgeführt werden. Also was mache ich? Ich wechsle von meiner IDE zu Emacs (es ist eine Abkürzung entfernt, auf einem anderen virtuellen Desktop), mache meine Sachen und wechsle zurück zu IntelliJ IDEA (meine Java-IDE der Wahl).
Problem ist, wie amphetachine gezeigt hat: die Verwendung von nur vim oder Emacs für die Java-Entwicklung fühlt sich an, als würde man in der Steinzeit leben.
Im besten beider Welten wäre der "Texteditor" in der Mitte meiner IDE Emacs (oder vim) und dennoch alle glänzenden Echtzeitfehler / Warnungen, Code-Vervollständigung, Code-Traversal und was auch immer gut Java IDEs haben.
P.S .: Hier ist eine +7-upvote, +4 Favoritenfrage, die ich gefragt habe, wie man .java (oder andere Dateien) zwischen Emacs und IntelliJ IDEA immer synchronisiert:
vim ermöglicht Remote-Thin-Client-Zugriff über Telnet oder SSH, Eclipse dagegen nicht. Das Meiste, was Sie tun können, ist der Remote-Desktop, der unbequem und langsam sein kann. Außerdem wurde vim für viele, viele Jahre entwickelt und einige Leute sind ziemlich an die Umwelt gewöhnt. vim ist auch blitzschnell und erlaubt Dominanz über den Code durch eine Vielzahl von Tastenbefehlen, wenn Sie ein Experte sind:)
Es ist möglich, die Funktionen von Eclipse über vim zu verwenden (siehe Eclim - Ссылка ), aber dies ist noch in der Entwicklung und kann instabil sein oder schwer einzurichten.
Was Sie von Eclipse erhalten, ist eine sehr schnelle Benutzeroberfläche, wenn Sie sie lokal verwenden, mit vielen leistungsstarken Refactoring-Tools. Einige Leute mögen jedoch die einfache Route:)
Der vi-Editor wird "meistens" von einem * nix-Benutzer in einer Befehlszeilenumgebung verwendet, zum Beispiel wenn die einzige Möglichkeit, sich mit der Unix / Linux-Box zu verbinden, über einen Telnet / SSH-Client erfolgt.
Wenn Ihr Client-Computer / Desktop beispielsweise Linux mit Genome oder KDE ist, würden Sie immer Eclipse-Umgebungen bevorzugen, die Ihnen umfangreiche Funktionen wie das Erstellen und Verwalten von Projekten, die Verbindung zu Code-Repositories, die einfache Navigation durch mehrere Dateien und das Debuggen bieten usw.
Aber ich kenne einige hartnäckige Fans von vi oder emacs, die immer noch vi oder emacs für alle praktischen Zwecke verwenden würden.
vi oder emacs sind sehr reichhaltige Programmiertools. Sie können fast jeden König der Navigation und Bearbeitung mit den Tastenkombinationen Befehle ausführen. Aber sie sind ein bisschen schwer zu bekommen, und selbst wenn Sie ein Experte sind, ist die Arbeit an mehreren Dateien und großen Projekten nach meiner Erfahrung schwierig.
Aber die Verwendung von vi auf einer Windows-Maschine ist sehr selten und wenn jemand es tut, kann ich mir den Grund nicht vorstellen.
Siehe Antwort auf diese Frage:
Trotz der Vielzahl von Plugins von Vim kommt nichts den sprachbewussten Refactoring- und Codierungsfunktionen der modernen IDE nahe.
Wenn Sie mit großen Projekten arbeiten, reicht ein leistungsstarker Editor nicht aus. Sie müssen in der Lage sein, durch Hunderte von Klassen zu navigieren, alle Verwendungen, Überschreibungen und andere Dinge zu finden. Sie müssen Ihren Code einfach umstrukturieren können. IntelliJ IDEA und Netbeans haben viele Funktionen und Verknüpfungen, die speziell auf Java-Entwicklung ausgerichtet sind. Vim ist ein großartiges Werkzeug, aber Java ist besser für IDEs geeignet, und Sie sollten dies zu Ihrem Vorteil nutzen.
Ich war ein Hardcore-Vim-Benutzer, aber ich wechselte zu Eclipse.
Es gibt zwei vi plugins / keybindings dafür. Einer ist frei, der andere ist kommerziell. Ich bevorzuge den kommerziellen: scheint für bestimmte Dinge besser zu funktionieren.
Eclipse kann viele Dinge tun, die gvim nicht kann (oder sie einfacher machen).
Kompilieren / Debuggen / Ausführen.
Build-Umgebung einrichten.
Javadocs, Code-Vervollständigung usw.
Refactoring, Quellcodeverwaltung, Code-Organisation.
Projekteinrichtung usw. Es ist einfach, ein Projekt mit anderen Entwicklern zu teilen. Viele FOSS Java-Projekte haben Eclipse-Dateien für die einfache Einrichtung.
Nur um ein paar zu nennen.
Download gvim für Windows, es scheint genau das gleiche wie das Linux-Äquivalent.