Vim vs Emacs
-
hallo,
mir ist bewusst, dass solche diskussionen wahrscheinlich schon vor jahren geführt wurden, trotzdem würde es mich interessieren, welchen editor ihr zum programmieren benutzt, und was die vorteile dieses editors sind.
vim oder emacs?
-
Was schmeckt besser, Butterkuchen oder Bienenstich? Und warum ist das so?
-
Auf jeden Fall steht fest: Die einzig wahre Religion ist die westliche Auslegung des amerikanischen Presby-Lutheranismus. Alles andere sind Ketzer und Lügner und gehören auf den Scheiterhaufen!
-
Ich habe beide mal ein paar Wochen benutzt als ich Linux noch auf dem Desktop nutzte. Nun nutze ich unter Windows nur noch Notepad++/Codelite und habe durch die Nutzung von Vi&Emacs gelernt Shortcuts intensiver zu nutzen, die es eigentlich bei allen IDE zu Hauf gibt und man damit fast genauso schnell ist, aber nicht das Gefühl hat einen Editor aus längst vergangenen Tagen zu verwenden.
Ich bin einen Tick besser mit Emacs zu recht gekommen. Den VI ist ja auf ganz wenige Steuerzeichen getrimmt wegen der damals extrem lahmen Datenanbindung der Terminals, ich mag da die Modi nicht so gern. Heute braucht man dies nicht mehr in dem Maße. Also hier meine Favoriten:
1. Moderne IDE
2. Emacs
3. VI
4. Notepad++
-
Die Diskussion vim vs. emacs ist obsolet, weil es mittlerweile Sublime Text 2 unter jeder Plattform gibt.
Wenn man coden will, gibt es m. A. n. objektiv betrachtet, keinen besseren Editor. Auch das Plugin-System ist genial.
Einziger Nachteil: Es ist kommerziell und in der kostenlosen Version wird man alle paar Tage durch ein Pop-Up daran erinnert das Produkt zu kaufen, was es aber alle mal Wert ist! Guckt euch mal Video-Tutorials dazu an und staunt!!!Was man aber nicht vergessen darf: Sublime Text bleibt ein Editor, auch wenn er sehr mächtig ist. Und so ist das größte Manko, dass es für Programmiersprachen (noch) keinen integrierten Debugger gibt. Das mag unter Linux zu verschmerzen sein, wenn man C programmiert und ddd als Debugger nimmt, aber ich habe vergeblich versucht für Java und Scala eine ähnlich mächtige Umgebung wie eclipse zu simulieren - leider vergeblich, weswegen ich mir den Editor auch nicht gekauft habe, aber für C unter Linux (und auch für Webzeugs) bleibt Sublime Text unschlagbar!
EDIT: http://www.sublimetext.com/
L. G.
Steffo
-
Oh Gott, ist es wieder so?
Ein Editor-Flame-War!
-
noergel schrieb:
Oh Gott, ist es wieder so?
Ein Editor-Flame-War!Juhu! Dann bin ich für den PE2 und alle anderen sind Schrott!
-
Dieser Sublime sieht ganz nett aus, aber Debugging ist mir wichtiger als irgendwelche zusätzlichen Annehmlichkeiten beim Editieren. Und per Konsole per gdb debuggen, naja.
-
Steffo schrieb:
Wenn man coden will, gibt es m. A. n. objektiv betrachtet, keinen besseren Editor.
Meiner Meinung nach gibt es objektiv betrachtet kein besseres Cola als Afri-Cola.
Ich verwende schon länger Emacs, habe aber vim ebenfalls schon verwendet (hat auch seine Stärken). Ich rate Anfängern normalerweise aber eher davon ab, vim oder Emacs zu lernen. Selbst wenn beide unheimlich gute Editoren sind, wenn man sie mal wirklich produktiv verwenden kann, ist der Weg dorthin recht steinig.
Sublime Text gefällt mir auch gut, ist so eine Art moderner Crossplatform-Textmate.
Lichtweite schrieb:
Dieser Sublime sieht ganz nett aus, aber Debugging ist mir wichtiger als irgendwelche zusätzlichen Annehmlichkeiten beim Editieren. Und per Konsole per gdb debuggen, naja.
Zum Debuggen kann man ja durchaus auch ein anderes Tool verwenden. Wobei prinzipiell sowohl Emacs als auch vim eine gdb-Integration haben.
Ansonsten: Langweiliges Thema, dazu hatten wir schon tausend Threads.
OP: Hast du irgendeine konkrete Frage, oder wolltest du nurmal schaun, ob hieraus ein Flamewar wird?
-
Lichtweite schrieb:
Dieser Sublime sieht ganz nett aus, aber Debugging ist mir wichtiger als irgendwelche zusätzlichen Annehmlichkeiten beim Editieren. Und per Konsole per gdb debuggen, naja.
Deswegen kannst du ja auch ddd verwenden, was als Backend z. B. gdb verwenden kann, die Infos aber grafisch ausgibt. M. A. n. gibt es objektiv betrachtet (
) keinen besseren grafischen Debugger-Aufsatz für C/C++ als ddd.
@nman: Ja, das "m. A. n. objektiv betrachtet" ist ein Widerspruch in sich. Muss man eben mit einem Augenzwinkern betrachten.
-
Fuer Interessierte an vim: http://www.youtube.com/watch?v=p6K4iIMlouI . Unter Linux verwende ich das ausschliesslich, unter Windows nun ja .. VS2010.
-
DDD kannte ich noch gar nicht, sieht nett aus.
EDIT: Lade mir gerade mal Affinic Debugger GUI runter, soll so ähnlich sein nur für Windows.
-
Tachyon schrieb:
Was schmeckt besser, Butterkuchen oder Bienenstich? Und warum ist das so?
SeppJ schrieb:
Auf jeden Fall steht fest: Die einzig wahre Religion ist die westliche Auslegung des amerikanischen Presby-Lutheranismus. Alles andere sind Ketzer und Lügner und gehören auf den Scheiterhaufen!
noergel schrieb:
Oh Gott, ist es wieder so?
Ein Editor-Flame-War!_matze schrieb:
noergel schrieb:
Oh Gott, ist es wieder so?
Ein Editor-Flame-War!Juhu! Dann bin ich für den PE2 und alle anderen sind Schrott!
mein gott, wenn ihr nichts zur diskussion beitragen wollt, dann lasst es halt
-
Ich habe sowohl Emacs als auch Vim über mehrere Jahre benutzt. Nicht gleichzeitig, sondern nacheinander.
Abgesehen von persönlichen Vorlieben kann man sagen, dass man mit Vim schneller im Produzieren und Editieren von Text ist. Wer viele Programme in sein Editor integrieren will, der ist mit Emacs besser bedient. Es gibt zwar einige Hacks um z.B. in Vim ein Terminal oder terminalbasierte Anwendungen laufen zu lassen, aber das sind nur Hacks die mehr schlecht als recht laufen. Ein modernes Vim ist aber schon ein sehr mächtiges Werkzeug. Man muss Vim, im Gegensatz zu Emacs, aber mit anderen Programmen kombinieren, Mutt für Emails, Irssi für IRC, und einen Terminal-Multiplexer um bequem zwischen diesen zu wechseln, z.B. tmux oder GNU Screen.
Wer von einem voll eingerichteten Emacs auf Vim wechselt wird sicher noch aufführen, dass es schneller ist, aber ich kann euch versichern, dass ein voll konfiguriertes Vim mit vielen Extras auch an Geschwindigkeit abnimmt.
-
knivil schrieb:
Fuer Interessierte an vim: http://www.youtube.com/watch?v=p6K4iIMlouI
Ich bin sprachlos... Das Video ist von 2007 und die Features die der in den ersten 20 Minuten anpreist gibt es in kommerziellen und teilweise in offenen IDEs seit mindestens 10 Jahren, und das deutlich bequemer...
-
Sprachl Oser schrieb:
knivil schrieb:
Fuer Interessierte an vim: http://www.youtube.com/watch?v=p6K4iIMlouI
Ich bin sprachlos... Das Video ist von 2007 und die Features die der in den ersten 20 Minuten anpreist gibt es in kommerziellen und teilweise in offenen IDEs seit mindestens 10 Jahren, und das deutlich bequemer...
Ja und? Das ist doch überhaupt nicht der Punkt. Es ist doch erstmal echt cool, wenn man überhaupt sowas wie Code Completion in vim hinbekommt, da erwartet doch keiner, dass sie so gut und bequem funktioniert wie in VS oder Netbeans
Ich würde auch nicht auf die Idee kommen, größere Projekte mit Vim zu entwickeln. Trotzdem ist es ein mächtiger schneller Editor, den ich immer nutze, wenn ich mir eine Datei anschauen oder schnell bearbeiten will. Und was die reine Textbearbeitung angeht, da kann er schon sehr viele und da könnnen IDEs nicht unbedingt mithalten. Kann schon sein, dass irgendwo in den Untiefen der Menüs irgendwas versteckt ist, womit man was ähnliches erreichen könnte, aber bei vim gehört es einfach dazu und da kann man viel mit dem Text anstellen. Ich vermisse es zwar nicht, wenn ich unter Windows mit VS oder Notepad++ arbeite, aber umgekehrt würde ich unter Linux auch nicht auf vim verzichten wollen.
-
Ich würde auch nicht auf die Idee kommen, größere Projekte mit Vim zu entwickeln. Trotzdem ist es ein mächtiger schneller Editor, den ich immer nutze, wenn ich mir eine Datei anschauen oder schnell bearbeiten will.
Und was die reine Textbearbeitung angeht, da kann er schon sehr viele und da könnnen IDEs nicht unbedingt mithalten. Kann schon sein, dass irgendwo in den Untiefen der Menüs irgendwas versteckt ist, womit man was ähnliches erreichen könnte, aber bei vim gehört es einfach dazu und da kann man viel mit dem Text anstellen. Ich vermisse es zwar nicht, wenn ich unter Windows mit VS oder Notepad++ arbeite, aber umgekehrt würde ich unter Linux auch nicht auf vim verzichten wollen.
Ein großer Kritikpunkt ist, dass man bei Vim genau so sehr lange braucht um das Editieren zu lernen. Und zwar nicht nur die ersten Gehversuche sondern das Erreichen der angepriesenen Effizienz. Und zwar weil die Werkzeuge, die einen schneller machen, zwar vorhanden sind, man sie aber nur schwer autonom findet. Man ist eben auf die, auch im Video erwähnten, Kollegen und Mailinglisten angewiesen, über die die Information langsam diffundiert. Bei den IDEs wird deutlich mehr auf leichteres Lernen gesetzt. Unter anderem durch solch plumpe aber durchaus wirkungsvolle Elemente wie Tipps-des-Tages oder animierte Büroklammern. Bei Vim und emacs hat man zwar die eingebauten Hilfen, aber richtig effizient suchen kann man zunächst einmal nicht, da man nicht einmal weiß dass dem eigenen Reprtoire Funktionalität fehlt.
Das ist umso mehr verwunderlich, wenn mir z.B. jahrelange Vim-User (und fast schon Fanatiker, die viel Zeit mit ihrer Editoroptimierung verbringen), die zudem ausreichend kompetent sind, versichern dass sie immer noch nicht ausgelernt haben. Wenn ich das mit z.B. IDE-Nutzern vergleiche, die die 10 am meisten Zeitsparenden Features draufhaben (meistens schnelles Auffinden von Dokumentation, Navigation im Code, Refactoring, VCS-Gimmicks) spätestens nach ein paar Monaten flüssig arbeiten können.
Und es ist keine Entschuldigung für Vim dass es in einigen Bereichen vielseitiger als eine IDE ist; das Erlernen der Bedienung ist ebenfalls ein relevantes Feature, bei dem Vim und Emacs schlecht abschneiden. [1]
Sublime sieht auf den ersten Blick so aus, als würde es diese Dinge besser machen; ich denke ich sollte es mir anschauen.
Mechanics schrieb:
Ja und? Das ist doch überhaupt nicht der Punkt. Es ist doch erstmal echt cool, wenn man überhaupt sowas wie Code Completion in vim hinbekommt, da erwartet doch keiner, dass sie so gut und bequem funktioniert wie in VS oder Netbeans
Ohne das ";)" hätte ich an diesem Abschnitt nicht wenig Anstoß genommen.
Disclaimer: This post has been composed using the emacs text editor.
-------------------------------------------------------------------------------
[1] Vermutlich liegt auch daran die starke Bindung an den eigenen Editor: Was man mühsam erarbeitet hat, möchte man nicht so schnell als wertlos dargestellt sehen.
-
Sprachl Oser schrieb:
Ein großer Kritikpunkt ist, dass man bei Vim genau so sehr lange braucht um das Editieren zu lernen.
Ja... Ich hab auch Jahre gebraucht, bis ich vim effizient nutzen konnte, selbst Jahre, bis ich überhaupt Gefallen daran gefunden habe. Hab aber auch früh genug angefangen und damals war noch nicht relevant für mich, später schon, und dann konnte ich schon gut damit umgehen.
Aber muss man das unbedingt als einen Kritikpunkt sehen? Ich muss ehrlich sagen, ich find das eher positiv. Wir reden hier ja nicht darüber, dass jeder Vim oder Emacs nutzen sollte und das irgendwann in naher Zukunft die großen IDEs als Mainstream Editoren ablöst. Es geht um etwas sehr subjektives. Und ich finde es gut, dass es immer noch solche Bereiche gibt, wo man immer noch sehr lange braucht, um überhaupt reinzukommen, die eben einem eingeschränkten Nutzerkreis vorbehalten bleiben und wo nicht jeder Möchtergern-Web-Scriptkiddie sofort durchsteigt und nach 2 Stunden effizient arbeiten kann.
-
Mechanics schrieb:
Und ich finde es gut, dass es immer noch solche Bereiche gibt, wo man immer noch sehr lange braucht, um überhaupt reinzukommen, die eben einem eingeschränkten Nutzerkreis vorbehalten bleiben und wo nicht jeder Möchtergern-Web-Scriptkiddie sofort durchsteigt und nach 2 Stunden effizient arbeiten kann.
Achja? Gibt dir das ein mächtiges Gefühl? Gehörst du dann zu einer selbsternannten Elite?
Ich halte es für ausgesprochen dumm, Dinge zu entwickeln, die recht kompliziert in der Handhabung sind und es unterlässt sie einfacher zu machen, damit das elitäre Ambiente nicht gestört wird.
Ich spreche mich nicht gegen vim aus, was ich auch gerne zum Editieren von Config-Files benutze. vim und emacs waren zu ihrer Zeit als es keine GUIs gab, modern. Kritisieren tu ich nur diese elitäre Geisteshaltung, in dem man recht triviale Dinge verkomplizieren möchte, um auf Andere, die ihre Zeit noch wertschätzen, herabschauen zu können.
Ziemlich armselig sind die, die so etwas nötig haben...Das erinnert mich an den Adel, der dem "einfachen" Bürger gewisse Grundrecht vorenthalten wollte.
Wenn ich schon lese, wie du anderen Nutzern effizientes Arbeiten vorenthalten möchtest, dann kann ich dich nicht anders als menschenverachtende Persönlichkeit betrachten. Aber frickel du nur mit deinem vim weiter. "Einfachere" Menschen werden mit Tools wie sublime mehr in weniger Zeit erreichen...L. G.
Steffo
-
Steffo schrieb:
Achja? Gibt dir das ein mächtiges Gefühl? Gehörst du dann zu einer selbsternannten Elite?
Mag sein. Spricht was dagegen? Man muss es nicht so negativ sehen/ausdrücken wie du. Es ist irgenwo dasselbe wie "früher war alles besser". Ich hab doch nur angefangen, mich für Computer zu interessieren, weil es geheimnisvoll, spannend, nicht trivial war, weil ich wissen wollte, wie Hacken funktioniert, weil ich weiter gehen wollte, als meine Freunde/Mitschüler. Mittlerweile ist der ganze Flair für mich eh schon lang verloren gegangen. Und bei den ganzen Neuentwicklungen, wo alles webbasiert, touchscreenbasiert oder kachelbasiert sein muss, fühl ich mich bei den ganzen kryptischen Unixsystemen einfach heimischer. Und es ist mir völlig egal, ob jeder Scriptkiddie auf Anhieb damit zurechtkommt. Das hat nichts damit zu tun, irgendwas zu verkomplizieren. Sollen doch die anderen ihre Webbasierten Editoren oder IDEs benutzen und effizient damit arbeiten, mir ist es völlig egal, ich bin einfach froh, dass es auch noch was gibt, das noch nicht jeglichen Charme verloren hat.