Welche Effizienz bieten Emacs oder Vim vs Eclipse? [geschlossen]

75

Ich habe vor ungefähr 5 Jahren angefangen zu programmieren. Ich wurde durch Java und Eclipse eingeführt, die beide ein erhebliches Stigma in der Programmiergemeinschaft haben. Eine Reihe von Leuten in der Firma, bei der ich derzeit praktiziere, bevorzugen Emacs oder Vim. Ich kann nicht sehen, wie ein einfacher Texteditor schneller oder einfacher als eine IDE im Allgemeinen ist, obwohl ich es zu schätzen weiß, dass einige Dinge wie das Erstellen über die Befehlszeile schneller sind.

Handelt es sich um den Old-Boys-Club, oder kann es effizienter sein, ein Projekt auf diese Weise zu programmieren?

Können Sie einige Anwendungsfälle zur Demonstration bereitstellen? Wenn ich Eclipse befürworten würde, würde ich sagen, dass Refactoring und automatische Vervollständigung ziemlich nützliche Werkzeuge sind.

Gav

gav
quelle
25
Sie haben nicht "einfacher" Texteditor gesagt, oder? :-D Emacs kann alles sein: Texteditor, IDE, Media Player, Bildbetrachter, PDF-Betrachter, Webbrowser, ... Ich muss zugeben, es ist nicht in jeder dieser Rollen überlegen, aber trotzdem ... ;-)
Danielpoe
20
Emacs oder vi (m), alles hängt von Ihren religiösen Überzeugungen ab, sind wie Meth, um {IDE hier einfügen} Unkraut. IDEs sind nur Einstiegsdrogen in die wahre Macht der dunklen Seite.
bettelt
6
@ Danielpoe: Du hast den Psychologen vergessen!
bettelt
Der beste Anwendungsfall wäre, viel angesagter auszusehen als der Rest Ihrer Mitarbeiter.
Kann Yegane
3
Hat 59 Up Votes, wird aber von Mods als nicht konstruktiv geschlossen. Mann, diese Moderatoren hassen wirklich jede Frage.
DollarAkshay

Antworten:

48

Ich habe in IDEs wie Eclipse angefangen, bin aber vor ungefähr 2 Jahren zu Vim gewechselt.

Gründe, warum Sie möglicherweise einen Textmodus-Editor verwenden möchten:

  • Es kann als IDE für nahezu jede Sprache verwendet werden (Sie lernen es einmal und verwenden es für alles).
  • Es kann all diese ausgefallenen Dinge wie automatische Vervollständigung, Refactoring und viele komplexere Vorgänge ausführen, die Sie durch Hinzufügen von Makros oder Plug-Ins erweitern können
  • Es funktioniert fast überall (und kann über eine SSH-Shell verwendet werden)
  • Sie benötigen kein GB RAM, um es auszuführen

Wenn Sie wirklich durchhalten, werden Sie feststellen, dass die Arbeit in einem solchen Editor irgendwann schneller sein wird und tatsächlich als eine Art „Muskelgedächtnis“ verankert wird. Dies bedeutet, dass Sie codieren können, ohne langsamer zu werden, um über den Prozess nachzudenken.

Aram Verstegen
quelle
7
Um vim zu vervollständigen, sollten Sie immer etwas optimieren.
Mykola Golubyev
5
Ich denke, es ist irgendwie impliziert. Eclipse erfordert meiner Erfahrung nach genauso viel, wenn nicht sogar mehr Optimierungen.
Aram Verstegen
46
Und vim startet schneller als Sie "Eclipse" sagen können.
Ludwig Weinzierl
3
Emacs hingegen benötigt mindestens GB RAM: PI liebt das Biest.
kjfletch
4
@kjfletch Ich habe keine Ahnung, welche Version von Emacs Sie verwenden ... meine Version verbraucht nie sehr viel RAM. Selbst wenn eine Reihe von Dateien in Puffern geöffnet ist, bemerke ich aufgrund von Emacs keine Verlangsamung.
Jonathan Sternberg
58

Vim / Emacs

  • Sehr schnelles / effizientes Schreiben von Code
  • Geringer Speicherbedarf
  • Schneller Zugriff auf die Befehlszeile
  • Unendliche Möglichkeiten durch Scripting / Plugins
  • Sie müssen die Tastatur niemals verlassen

Finsternis

  • Voll funktionsfähige IDE für viele Sprachen
  • Großartige Refactoring-Unterstützung

Alle von ihnen

  • Plattformübergreifend
  • Funktionsreich
  • Erweiterbar durch Plugins

Normalerweise schreibe ich Code-Volumes vimdurch meine IDE und führe Debugging-Aufgaben durch. Die Vertrautheit mit der Codebasis ist sicherlich ein Faktor, da eine IDE ein großartiges Werkzeug ist, um herumzuspringen und unbekannten Quellcode zu lernen.

Corey D.
quelle
1
+1 für die klarste und am besten organisierte Antwort, IMHO.
Android Eve
Ich habe IntellIJ IDEA wirklich genossen, weil es ausgezeichnete Vim-Tastenbelegungen mit allen leistungsstarken Funktionen einer vollständigen IDE bietet. QtCreator bietet auch eine gute Unterstützung für die Bindung von VIM-Schlüsseln. Ich habe jedoch noch keine brauchbare Lösung in Eclipse gefunden.
Corey D
1
Es ist wertvoll, einen Editor zu beherrschen, der auch über die Befehlszeile funktioniert. Sowohl Emacs als auch Vi (m) tun dies, aber IDEs im Allgemeinen auch nicht die moderneren Power-Editoren wie TextMate oder Sublime Text.
RP Dillon
28

Das Argument "Eclipse für Java" ist ein anderes Argument als "Eclipse für [etwas, das nicht Java ist]". Eclipse rockt für Java.

Ich meine, vi ist wie ein Schraubenzieher oder vielleicht ein Schweizer Taschenmesser, und Eclipse ist wie eine große CNC-Kombimühle und ein Asphaltstreuer. Sie vergleichen sie nicht genau, Sie verwenden einfach beide.

Arbeiten Sie auch in etwas Riesigem, von dem Sie wenig wissen, das Eclipse jedoch versteht? Ein Beispiel wäre die Arbeit an Eclipse selbst. Hier bietet Eclipse perfekte Sichtbarkeit und vollständige Sprachunterstützung. Sie benötigen die Toast-Eingabeaufforderungen und die Dokumentationslinks.

Wenn Sie jedoch ein Ruby-Programm mit 100 Zeilen eingeben, um eine SQL-Datenbank zu konvertieren, bietet Eclipse keinen großen Mehrwert, insbesondere angesichts des Gepäcks.

Es ist auch wichtig, vi richtig einzurichten, sonst werden Sie den Appell nicht unterdrücken. Autoindent, Showmatch, Tab-Behandlung und verschiedene andere Optionen sollten festgelegt werden. Sie sollten eine einfache Möglichkeit haben, eine Tag-Datei zu generieren. Google kann Tag-Generatoren finden oder einfach einen von Grund auf neu schreiben, mit ein paar Zeilen Shellcode und sed (1).

Refactoring halte ich nicht für ein Kriterium. Das machen Sie nicht einmal pro Stunde oder sogar einmal am Tag. Starten Sie die große IDE, wenn Sie einen Refactor benötigen. Oh, und erwarten Sie kein automatisiertes Refactoring von etwas anderem als Java.

Schließlich kann vi tatsächlich viele Dinge tun, mit denen die IDE nicht beginnen kann. Die gruppierte globale Substitution mit regulären Ausdrücken ist eine Art verallgemeinerte Refactor-Any-Engine. Um die vi gestalt zu schätzen, müssen Sie den Linienmodus (":") lernen. Kurz gesagt, es ist, als hätte man sed (1) in Ihrem Editor.

DigitalRoss
quelle
19
Ich bin nicht einverstanden mit der Häufigkeit des Refactorings. Refactoring kann so einfach sein wie das Umbenennen eines Klassen- / Methodennamens und die harte Arbeit der IDE spart viel Zeit. Ich kenne ein Team, dessen Auszubildender 2 Wochen damit verbracht hat, seinen Code manuell
durchzugehen
7
+1 für das Zeigen der Sache "Eclipse für Java". "Eclipse rockt für Java." Ich stimme zu 100% zu%.
Ludwig Weinzierl
16
Bitte sagen Sie den Leuten nicht, dass sie das Refactoring ersetzen sollen.
R. Martinho Fernandes
Habe ich nicht gesagt, die "IDE zu verwenden, wenn Sie umgestalten müssen"? Aber je weiter Sie von Java entfernt sind,
desto
@DigitalRoss, im Prinzip gibt es nichts , was Eclipse daran hindert, eine globale Substitution für gruppierte reguläre Ausdrücke zu erhalten - noch hat sich niemand die Zeit genommen.
Thorbjørn Ravn Andersen
23

Es hängt alles davon ab, was Sie wollen / erwarten und was Ihr Nutzungsmodell ist.

Wenn Sie nach einer Java-IDE suchen, ist Eclipse schwer zu schlagen. Es ist in Java für Java von Java-Leuten geschrieben.

Wenn Sie nach einem Tool suchen, mit dem Sie Dateien schnell über die Befehlszeile bearbeiten können, sind Emacs oder vi genau das Richtige für Sie.

Wenn Sie nach einem Tool suchen, von dem Sie nie mehr weg müssen, weil es alles kann, was Sie wollen (E-Mails senden / lesen, Projekte verwalten, Aufgabenlisten erstellen, kompilieren, debuggen usw. usw. usw.), dann ist Emacs mehr "effizient".

Wenn Sie nach Gründen suchen, um den Editor zu wechseln, finden Sie heraus, was Sie wollen. Wenn Sie eine bessere Eclipse wollen, vi und Emacs Ihnen das nicht geben, bleiben Sie bei Eclipse.

Wenn Sie nach einem kleinen, flinken Editor suchen, ist vi genau das Richtige für Sie.

Wenn Sie nach dem letztendlich erweiterbaren Editor suchen, ist Emacs der richtige Weg.

Egal für welches Werkzeug Sie sich entscheiden, tauchen Sie ein . Lernen Sie alle Vor- und Nachteile kennen und erweitern Sie sie, um Ihren Anforderungen gerecht zu werden. Verwenden Sie es an seine Grenzen und werden Sie effizient in seiner Verwendung.

Trey Jackson
quelle
5
+1 für "Egal für welches Tool Sie sich entscheiden, tauchen Sie ein. Lernen Sie alle Vor- und Nachteile kennen, erweitern Sie es, um Ihren Anforderungen gerecht zu werden. Verwenden Sie es bis an seine Grenzen und nutzen Sie es effizient."
NlightNFotis
+1 Jeder von ihnen hat seine Stärken. Sowohl Emacs als auch Eclipse bieten eine Vim-Emulation, die eine konsistente Benutzeroberfläche bietet, während Sie jeden von ihnen für das verwenden, was sie können.
Gordon Gustafson
15

Emacs kann eine mächtige IDE sein, aber nachdem ich von Emacs zu Eclipse gewechselt bin, muss ich sagen, dass ich niemals zurückkehren würde. Eclipse bietet nur so viele Funktionen, dass Sie Emacs nicht nutzen können.

Mylyn- und Bereichsansichten der von mir verwendeten Daten und Dateien, die Debugging-Benutzeroberfläche und die CVS-Benutzeroberfläche sind alle integriert und einfach abzurufen und zu verwenden. Ich werde die Maus ein wenig benutzen, um sie zu bekommen.

RC.
quelle
Ich "brauche" keinen, ich bevorzuge nur einen und habe die nette Benutzeroberfläche und die Diff-Tools, die Eclipse direkt in meiner IDE bereitstellt.
RC.
Vielleicht ist die CVS-Benutzeroberfläche gut, aber ich bin wirklich frustriert über Subclipse (Eclipse SVN-Plugin). An dieser Stelle würde ich ernsthaft (und tun!) Lieber die Befehlszeile für SVN verwenden.
Tikhon Jelvis
Ich bezog mich hauptsächlich auf die Tatsache, dass Sie CVS verwenden und nicht auf etwas, das tatsächlich funktioniert. Nicht der UI-Teil.
Alternative
@mathepic - Ja, wir sind dankbar zu Mercurial gezogen. :)
RC.
Persönlich mag ich das "Mach das nächste logische Ding", wenn ich die Versionskontrolle mit Emacs benutze.
Chen Levy
12

Das wichtigste zuerst. VIM ist für die Programmierung produktiver als Eclipse. Ihre persönliche Produktivität in VIM mag miserabel sein, aber die potenzielle Obergrenze von VIM ist viel höher. Das ist ein Fakt.

VIM ist eine Kampfkunst. Es fühlt sich unnatürlich an, wenn Sie es zum ersten Mal benutzen. Und Sie können es nicht einmal zum Laufen bringen. Es dauert Jahre der Übung, um allmählich produktiv zu werden. Sie konzentrieren sich zunächst darauf, ein kleines Detail zu beherrschen. Langsam addieren sich all diese Bits, die Sie beherrschen, bis mühelos Text aus Ihren Fingerspitzen auf den Bildschirm fließt. Komplizierte Änderungen, die Ihren Kollegen zum Seufzen bringen würden, springen von Ihren Händen, bevor er sein Ausatmen beenden kann. Es gibt nur wenige Leute, die VIM verwenden können. Weniger, die es produktiv einsetzen können. Und vielleicht treffen Sie in Ihrem Leben nie einen Meister. Aber es wird gemunkelt, dass sie existieren.

VIM wurde entwickelt, um Ihre Hände in der Heimreihe zu halten. Das Bewegen Ihrer Hand von der Tastatur zur Maus ist demoralisierend. Es ist eine grobmotorische Bewegung. Das Bewegen Ihres Arms hat eine psychologische Wirkung, die Ihre Motivation beeinträchtigt. Mit VIM könnte jemand Ihre Handgelenke auf die Tastatur schrauben und Sie könnten trotzdem problemlos Dateien öffnen, Fenster teilen, Registerkarten öffnen, das Projekt erstellen, suchen / ersetzen, Schriftarten ändern, Farben ändern usw. Und das alles blitzschnell.

VIM ist modal. Das heißt, Sie müssen keine komplexen Tastenkombinationen ausführen, bei denen Sie Strg + Umschalt + Taste gedrückt halten. Das schmerzt deine Hände auf lange Sicht. Stattdessen führen Sie Befehle aus. Aufgrund des modalen Charakters sind keine Tastenkombinationen erforderlich.

Wir speichern Daten in unserem Speicher wie Computer. Unser Gedächtnis kann jeweils nur wenige Werte enthalten. Sehen Sie, wie viele verschiedene Ganzzahlen Sie in Ihrem Kopf halten können, bevor sie abrutschen. Wir überwinden diese menschliche Einschränkung, indem wir Dinge aufschreiben. Wenn Daten aus unserem Speicher fallen, können wir uns leicht ansehen, was wir aufgeschrieben haben, um sie zurückzubekommen. Wenn Sie Ihre Zeit mit grobmotorischen, physischen Dingen verbringen, verlieren Sie Zeit, die Sie möglicherweise für die Verarbeitung von Daten in Ihrem Gehirn aufgewendet haben. Sie möchten, dass Ihr Geist ohne Anstrengung auf den Bildschirm fließt. Es mag nicht nach viel klingen, aber die Fähigkeit von VIM, Ihre Gedanken mühelos auf den Bildschirm zu übertragen, ist eine GROSSE Produktivitätssteigerung. Es ist schwer in Worte zu fassen, was ich zu sagen versuche.

VIM unterstützt die Code-Vervollständigung. Sowohl textuell als auch nachgeschlagen. Es kann Text aus mehreren Dateien abrufen. Alles, was Sie wünschen, können Sie in VIM haben. Entweder selbst machen oder etwas verwenden, das jemand anderes gekocht hat.

VIM unterstützt die Definition von Definitionen mit ctags. Sie können auch alle Referenzen eines Artikels finden. Auch hier können Sie alles, was Sie wünschen, in VIM haben.

Das Scripting von VIM ist riesig. Sie können Tausende von Farbschemata herunterladen oder erstellen und die Farben sofort ändern. Versuchen Sie, Schriftarten oder Farben in Microsoft Visual Studio zu ändern, und es bleibt 20 Sekunden lang hängen, während Daten geladen werden. Sie können keine Farbschemata speichern, und Sie müssen 30 Minuten damit verbringen, Ihre Farben und Schriftarten jedes Mal zu optimieren, wenn Sie die Landschaft wechseln möchten. In VIM können Sie den Zeilenabstand auf Null setzen, um mehr Codezeilen auf dem Bildschirm anzuzeigen. Ich bekomme über 80 Zeilen. Visual Studio verwendet 2 Pixel Abstand für jede Zeile und Sie können ihn nicht anpassen !!! Weniger Zeilen = mehr Bildlauf = weniger Produktivität = gezwungen, kleine Schriftarten für mehr Zeilen zu verwenden = Augenbelastung.

Geteilte Fenster werden in einer Instanz in VIM geöffnet. Dies ist nützlich, wenn Sie Daten in einem Abschnitt des Codes anzeigen müssen, der weit von der Stelle entfernt ist, an der Sie eingeben (oder in einer anderen Datei). Sie müssen keine Zeit damit verbringen, die Größe von Fenstern zu ändern, oder sich Sorgen machen, dass sich GUI-Fenster überlappen und hintereinander fallen. Nicht verwandte Codefenster können in Registerkarten geöffnet werden, um nicht Platz auf dem Bildschirm zu beanspruchen, sondern um schnell zu wechseln.

VIM als IDE: http://www.youtube.com/watch?v=MQy2rVOf-z0&feature=fvwrel VIM die Rache: http://www.youtube.com/watch?v=lQNFfhC4QI8

Mike
quelle
8
"Es braucht jahrelange Übung, um allmählich produktiv zu werden." Nun, wir leben nicht für immer. Warum sollten Sie Ihr Leben damit verbringen, Dinge zu komplizieren, wenn Sie in wenigen Stunden produktiv sein können? Es ist, als würde man Musik mit einer Befehlszeilensoftware anstelle von Winamp hören.
Sorin Trimbitas
@ SorinTrimbitas Der gleiche Grund, warum Menschen Geld investieren, um von Zinseszinsen zu profitieren, anstatt es in der Minute auszugeben, in der sie es verdienen. Sicher, Sie können in wenigen Stunden produktiv sein und dann diese flache Produktivitätsrate für den Rest Ihres Lebens beibehalten. Oder Sie können eine Anfangsinvestition tätigen und später feststellen, dass Ihre Produktivität viel schneller steigt. Auch dieses Zitat ist irreführend. Es dauert nicht Jahre, bis Sie so produktiv sind wie mit Ihrer IDE. Es bedeutet vielmehr, dass Sie Ihre Produktivität kontinuierlich steigern, je mehr Sie sie verwenden.
JBentley
8

Ich habe vi jahrelang verwendet, um Code in einer Vielzahl von Sprachen zu bearbeiten, und ich liebe ihn wirklich. Aber ich habe festgestellt, dass IDEs wie Eclipse für die Java-Entwicklung noch besser geeignet sind, und jetzt arbeite ich fast ausschließlich in Eclipse. Ich verzichte von Zeit zu Zeit darauf, vi für einige spezielle Aktivitäten zu verwenden, z. B. das Einfügen von Copyright-Hinweisen in großen Mengen, hauptsächlich für bestimmte Arten von Änderungen, die in Eclipse nicht gut automatisiert sind. Ich habe auch meinen Windows-Java-Dateityp auf vi zugeordnet, wenn ich nur eine Quelldatei anzeigen möchte, ohne darauf zu warten, dass Eclipse geöffnet wird.

Einige der attraktiven Funktionen von Eclipse sind:

  • Vervollständigung des Methodennamens
  • Fehlerhervorhebung
  • Popup-Javadoc-Kommentare
  • Refactoring

Ich finde es viel effizienter als vi im Allgemeinen, also sollten Sie es ausprobieren und sehen, ob es auch für Sie gilt.

Jim Ferrans
quelle
6

Ich erinnere mich, dass ich irgendwo über eine Studie gelesen habe, die zeigte, dass Menschen wahrgenommen haben Tastenkombinationen als effizienter als mousing, wenn in der Tat ist es nicht immer war.

Ein weiterer psychologischer Effekt ist, dass wir Wert auf Dinge legen, die teuer sind, dh da es schwieriger ist, Emacs zu lernen, muss es sein es in irgendeiner Weise besser sein.

Ich denke, diese Effekte könnten viel von der extremen Zuneigung erklären, die manche Menschen zu Emacs / Vi haben.

Im Fall von Eclipse kann es jedoch sehr langsam sein und gelegentlich sogar abstürzen, aber das ist im Allgemeinen kein Fall für IDEs.

Ich benutze regelmäßig Eclipse, VS und Emacs. Ich würde auch TextMate verwenden, aber ich habe keinen Mac mehr. Es hängt davon ab, was ich tue, insbesondere, welches System meine Sprache und Tools am besten unterstützt.

Ich kenne Leute, die wesentlich mehr Zeit damit verbringen, ihren Editor zu programmieren, als etwas Nützliches zu tun. Einige von ihnen geben sogar zu, dass sie es nur für die Herausforderung tun. Andere Leute behaupten oft, dass Emacs / Vi viel mehr kann als IDEs, weil sie skriptfähig sind. Nun, die meisten IDEs (einschließlich Eclipse) können auch per Skript erstellt werden. In diesem Sinne sind fast alle Editoren gleichwertig (obwohl ich zugeben muss, dass einige Editoren einfacher zu skripten sind als andere).

Wenn Sie IDEs mögen, ist mein Rat, weiterhin eine zu verwenden. Es gibt keinen One True Editor .

BEARBEITEN:

Dies scheint der Artikel zu sein, auf den sich Nick Bastin bezieht. Ich stimme zu, dass es weit von einer endgültigen Quelle entfernt ist. Ich denke jedoch immer noch, dass mein Standpunkt, dass wahrgenommene und reale Produktivität nicht dasselbe sind, immer noch gilt.

Jørgen Fogh
quelle
21
Diese "Studie" wurde 1989 von Apple durchgeführt (keine wirklich wissenschaftliche Studie, sondern Fokusgruppenforschung), als sie versuchten, die Maus als tatsächliche "neue" Technologie für Menschen zu bewerten, die daran gewöhnt waren, ihren Computer vollständig mit einer Tastatur zu verwenden. Die Zeiten (und Schnittstellen) sind jetzt ganz anders, und sogar Tognazzini stimmte zu, dass Editoren ein Ort sind, an dem die Tastatur immer schneller war (und ist) (vorausgesetzt natürlich, dass Sie nicht über Ihre Tastaturkürzel nachdenken müssen).
Nick Bastin
Emacs ist eine große REPL. Wenn Sie also in emacs lisp codieren und C + X C + E drücken, können Sie die Zwischenwerte einer Reihe von S-Ausdrücken sehen. Es ist auch möglich, es so zu programmieren, dass es Ihnen jeden einzelnen Zwischenwert anzeigt, ohne Cx Ce drücken zu müssen, und dies übertrifft jede aufgeblähte Java- oder Visual Studio-IDE um eine lange Meile ... youtube.com/watch?v=TgHvRcbYJ-8&t=38s Emacs benötigt auf meinem PC nur 50-100 MB im Vergleich zu RAM-Auftritten, die von ATOM, Visual Studio, Eclipse und IntelliJ benötigt werden.
aoeu256
4

Das hängt von den Sprachen ab.

Verwenden Sie für Java oder .NET eine IDE (Eclipse, Netbeans, Visual Studio ...).

Für fast alle anderen Sprachen (C, C ++, Ruby, Python, Haskell, Lisp ...) sind vi und emacs meiner Meinung nach besser.

hiena
quelle
Wenn Sie .NET verwenden, können Sie das Beste aus beiden Welten genießen: Visual Studio + ViEmu.
R. Martinho Fernandes
4
Kannst du bitte schreiben, warum vim / emacs besser für c / c ++ von Eclipse / CDT ist?
Sergei
3

Die Effizienz von vim / emacs wird hauptsächlich durch die starke Verwendung der Tastatur erreicht. In diesen Programmen können Sie fast alles direkt über die Tastatur ausführen, anstatt die Maus anhalten und verwenden zu müssen.

Jon W.
quelle
2

Ich würde sagen, dass die tatsächlichen vim / emacs-Editoren dem Eclipse-Texteditor in Bezug auf die von ihnen angebotenen Verknüpfungen weit überlegen sind. Ich stimme Ihnen jedoch in Bezug auf das Refactoring voll und ganz zu.

Die meisten Leute müssen Skripte schreiben, um die Art von Refactoring durchzuführen, zu der Eclipse in der Lage ist. Ich denke, ein Teil davon ist, mit Rechten zu prahlen oder Menschen tun es einfach so, wie sie es immer getan haben.

Mike McQuaid
quelle
6
Nein, die meisten von uns schreiben einfach keinen Code, bei dem für "Refactoring" 150 verschiedene Dateien geändert werden müssen.
Jrockway
10
Ich bin bereit zu wetten, dass ich 2 Dateien in Eclipse schneller ändern kann als Sie in Vim / Emacs. Außerdem erben einige von uns fehlerhaften Code, der umgestaltet werden muss, und Tools wie die von Eclipse machen dies viel einfacher.
Mike McQuaid
@ Mike, hängt stark davon ab, WAS sich ändert.
Thorbjørn Ravn Andersen
@ Thorbjørn @Mike Ich kann es am schnellsten mit ändern touch.
Alternative
@mathepic, hängt stark von der Definition der Veränderung ab ...
Thorbjørn Ravn Andersen
2

Ich würde mich jederzeit für Emacs anstatt für Eclipse entscheiden. Ich muss auch sagen, dass Bare-Bone-Emacs nicht so toll sind, aber nach einigen Optimierungen werden Sie es nie mehr loslassen wollen. Insbesondere werde ich Ihnen sagen, wie hilfreich Emacs beim Schreiben meiner Masterarbeit war. Dies sollte deutlich machen, warum Eclipse minderwertig ist, nur weil es weniger vielseitig ist.

Ich habe meine Masterarbeit in den folgenden Programmiersprachen geschrieben: C ++, Python und R. Ergänzend musste ich die Diplomarbeit schreiben, für die ich LaTeX verwendet habe. Außerdem musste ich eine Reihe von Shell-Skripten und cmake-Skripten schreiben. Erraten Sie, was? Emacs hat eine großartige Unterstützung für all das. Insbesondere war es eine Freude, mit AuCTeX zusammenzuarbeiten, um LaTeX-Dokumente zu erstellen. Dann bietet Emacs den großartigen ESS-Modus für die Arbeit mit R. Ebenso bietet es Funktionen für Python. Nachdem ich meine cmake-Skripte zum Erstellen des C ++ - Codes hatte, musste ich nur compile from withing emacs aufrufen und war fertig. Eclipse kann diese Dinge nicht vollständig ausführen, daher müssen Sie lernen, viele verschiedene Programme zu verwenden. Notizen? Dafür gibt es einen Org-Modus, und es ist großartig!

Und dann brauchte mein Programm einen sehr leistungsfähigen Computer (nicht wie jeder Laptop). Also könnte ich einfach alles aus der Ferne aus Emacs heraus machen !!!! Mit tramp habe ich R-Code aus der Ferne interaktiv ausgewertet, C ++ - Code aus der Ferne kompiliert, ausgeführt und debuggt und alles innerhalb des gleichen guten lokalen Emacs-Fensters, das ich verwendet hatte. Im Gegensatz dazu entwickelten meine Freunde, die für alles ein separates Tool verwendeten, viel langsamer Software, die auf einem anderen Computer ausgeführt werden sollte.

So habe ich einige andere Geschichten, aber ich denke, dies gibt Ihnen eine gute Vorstellung davon, was Sie mit Emacs tun können. Alles in allem denke ich, dass die Entscheidung für Emacs (trotz der Lernkurve) die produktivste Entscheidung war, die ich je getroffen habe.

Ich hoffe es hilft.

Jose Antonio Alvarez Ruiz
quelle
1
+1 für die Erwähnung, dass Sie Emacs vor der Verwendung konfigurieren müssen. Es ist ein häufiger Fehler, der zu einigen Versuchen bei Emacs führte, bevor ich ihn endlich bekam. Der Grund dafür ist, dass Sie, wenn Sie eine IDE oder einen Editor ausführen, darauf warten, dass diese sofort funktioniert. Wegen dieses Missverständnisses wurde ich Emacs oft vorgeworfen, nicht mit dem übereinzustimmen, was ich davon gehört hatte, und warf es weg. Bis zu einem nächsten Popup-Artikel, der Emacs verherrlicht.
Hi-Angel
1

Wir haben dieses Argument kürzlich bei der Arbeit gehabt. Meiner Meinung nach war eine einzige Funktion, auf die ich nicht verzichten konnte, die automatische Vervollständigung von Emacs. Die automatische Vervollständigung von Eclipse basiert auf einer syntaktischen Analyse - der Code wird analysiert, und während Sie Code eingeben, wird Ihnen die Wahl der Vervollständigung angeboten. Die automatische Vervollständigung von Emacs basiert auf einer einfachen Textanalyse. Das heißt, es funktioniert im Klartext, in Kommentaren, in der Dokumentation - überall. Ich sage immer wieder, dass die automatische Vervollständigung des Emacs das ist, was IntelliSense sein möchte, wenn es erwachsen wird.

Aktualisieren:

Eclipse bietet Alt- / an, das Emacs ähnlich sein soll. Ich bin mir jedoch nicht sicher, wie gut es funktioniert.


quelle
Ich glaube, Emacs kann auch eine Vervollständigung basierend auf einer TAGS-Datei durchführen (im Wesentlichen eine Offline-Version der Datenstruktur, die für "Gehe zur Definition" benötigt wird), aber ich habe keine Erfahrung mit der Java-Version.
Thorbjørn Ravn Andersen
1

Der einzige Ort, an dem ich eine IDE bevorzuge, ist das Debuggen. Ich habe meine vim-Umgebung für das Debuggen eingerichtet, aber die Verwendung war so schmerzhaft und umständlich, dass ich jetzt nur noch zu meiner IDE (Netbeans) wechsle, wenn ich debuggen muss. vim eignet sich hervorragend für die Textbearbeitung, die IDE eignet sich hervorragend für komplexere Aufgaben (wie das Debuggen und einige Aufgaben im Zusammenhang mit dem Projektmanagement).

rg88
quelle
0

Wie einige der obigen Beiträge habe ich mit einer IDE (Eclipse) begonnen. Von dort wechselte ich zu Emacs und dann zurück zu einem Rich-Text-Editor (TextMate).

Für mich war die Effizienz die Fähigkeit, einen Editor auf der Schnittstellenebene zu haben. Erlaubt mir, andere Dienste, die ich aufgebaut habe (oder andere), in meine Pseudo-IDE-Umgebung zu integrieren.

Rev316
quelle