Forum: PC-Programmierung Emacs oder Vim - was soll ich lernen?


von Tomboy (Gast)


Lesenswert?

Hallo Leute,

Neben dem Studium programmiere ich recht viel, hauptsächlich in Perl und 
C unter Linux. Inzwischen bin ich total frustriert über das Angebot 
herkömmlicher IDE's und Texteditoren. Immer finde ich irgendwas, was 
mich absolut stört. Dabei sind das oft ganz simple Dinge (kein 
Fullscreen Coding möglich, kein Splitscreen, schlechtes 
Syntaxhighlighting, Man wählt ein anderes Colorscheme aber z. B. der 
Explorer wird weiterhin in knall weiß angezeigt weil es auf irgendwelche 
Farbresourcen des Systems zurückgreift etc...). Ich weiß nicht wie viele 
IDE's und Editoren ich schon ausprobiert habe, aber es sind gewiss 
dutzende und ich bin es Leid.

Ich glaube, ich muss man mich langsam mit Vim oder Emacs auseinander 
setzen. Jetzt frage ich mich aber, was von beiden ich lernen soll. Vor 
allem, welches der beiden für Anfänger zugänglicher ist und mich schnell 
zu dem Punkt bringt, wo ich wirklich produktiv arbeiten kann.

Was mich auch noch interessieren würde. In eurem Job, falls es so sein 
sollte, was bringt euch mehr? Emacs oder Vim?

Viele Grüße

von min (Gast)


Lesenswert?

Oder vielleicht doch eine vollwertige IDE wie Eclipse? Oder einen 
Texteditor wie gedit? Der bietet auch "Syntaxhighlight".
vi, vim oder emacs braucht man, wenn nur mit der Konsole gearbeitet 
wird.

von Rolf (Gast)


Lesenswert?

Ich nutze den vi nur, wenn ich auch nur die Kommandozeile habe. Sobald 
ich eine graphische Oberfläche habe, nehme ich gedit, im Moment aber nur 
für kleinere Dinge. Früher im Beruf habe ich mal sehr intensiv nedit 
genutzt. Der war richtig gut.

Ich bin ein Emacs-Hasser.

von user (Gast)


Lesenswert?

Also ich kann gvim empfehlen. Das hast du syntax highlighting, 
Codevervollständigung, make ausführen und an Fehler springen usw.

von Tomboy (Gast)


Lesenswert?

min schrieb:
> Oder vielleicht doch eine vollwertige IDE wie Eclipse? Oder einen
> Texteditor wie gedit?

IDE's schon mal gar nicht. Die sind mir viel zu aufgebläht. Und Gedit 
und Konsorten habe ich schon ausprobiert. Wäre etwas passendes dabei, 
hätte ich es benutzt :( ..

von Gerd E. (robberknight)


Lesenswert?

Ich finde KDevelop recht gut, als reinen Editor ohne IDE nehme ich 
normal Kate.

Wenn mich da irgendwas dran massiv stören würde - es wäre kein Problem 
das nach meinen Wünschen umzuprogrammieren. Der Code ist ja zum Glück 
frei zugänglich.

Was meiner Meinung nach mir für die Bequemlichkeit beim Programmieren am 
meisten gebracht hat: Multi-Monitor. Ich hab 3 20"-Monitore mit je 
1600x1200 nebeneinander. Da muss ich nicht immer auf begrenztem Platz 
hin- und herspringen, sondern kann mich ausbreiten und hab alles 
wichtige im Blick.

von Matthias K. (rino1)


Lesenswert?

Dann benutz vi und seine Kollegen.

Das ist zwar aufwendig zulernen meine Meinung.
Aber wenn du es verstanden hast.

Dann kannst unter die Schale schauen und deine Schreibmaschine so 
ummodelieren das alles geht was dir bei den anderen Programmen gestört 
hat.


Gruß,
Matthias K.

von Rolf (Gast)


Lesenswert?

Tomboy schrieb:
> Und Gedit
> und Konsorten habe ich schon ausprobiert. Wäre etwas passendes dabei,
> hätte ich es benutzt :( ..

Wenn du alles graphischen Texteditoren schon ausprobiert hast, und 
unzufrieden bist, dann wirst du mit vim oder emacs auch nicht zufrieden. 
vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen.

So, wie es aussieht, wirst du dein Problem nicht lösen können.

von Tomboy (Gast)


Lesenswert?

Gerd E. schrieb:
> Was meiner Meinung nach mir für die Bequemlichkeit beim Programmieren am
> meisten gebracht hat: Multi-Monitor. Ich hab 3 20"-Monitore mit je
> 1600x1200 nebeneinander. Da muss ich nicht immer auf begrenztem Platz
> hin- und herspringen, sondern kann mich ausbreiten und hab alles
> wichtige im Blick.

Das ist natürlich nice :-) ...
Benutze leider nur 2 Monitore. 1x 22" zum Fullscreen programmieren und 
den rest mache ich dann auf meinem 14" Thinkpad Notebook der daneben auf 
dem Notebook Ständer steht.

Gerd E. schrieb:
> Wenn mich da irgendwas dran massiv stören würde - es wäre kein Problem
> das nach meinen Wünschen umzuprogrammieren. Der Code ist ja zum Glück
> frei zugänglich.

Da fehlt mir leider die Erfahrung, da einfach mal was umzuprogrammieren.

user schrieb:
> Also ich kann gvim empfehlen. Das hast du syntax highlighting,
> Codevervollständigung, make ausführen und an Fehler springen usw.

Matthias K. schrieb:
> Dann benutz vi und seine Kollegen.
>
> Das ist zwar aufwendig zulernen meine Meinung.
> Aber wenn du es verstanden hast.
>
> Dann kannst unter die Schale schauen und deine Schreibmaschine so
> ummodelieren das alles geht was dir bei den anderen Programmen gestört

Ja ich glaube das werde ich machen. Danke euch :) !

Gerd E. schrieb:
> vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen.

Nö. Ganz im Gegenteil. Von dem was ich bis jetzt gelesen und gesehen 
habe, ist es eine Offenbarung. Endlich alles mal so anpassen zu können, 
wie man es braucht - und dazu auch noch für jede Sprache. Und es gibt 
massig Shortcuts, wodurch man nicht mehr zur Maus greifen muss. Genau 
das richtige. Es ist nur sehr aufwendig zu lernen, aber 1x gelernt, dann 
brauch ich wahrscheinlich bis zum Lebensende nichts anderes mehr :-) ...

von Palette W. (Gast)


Lesenswert?

Rolf schrieb:
> vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen.
> So, wie es aussieht, wirst du dein Problem nicht lösen können.

Wie es aussieht. Hat der Rolf keine Ahnung. Einfach ignorieren.
Vim und Emacs ist genau das richtige für Power-Programmierer.

von Rolf (Gast)


Lesenswert?

Palette W. schrieb:
> Wie es aussieht. Hat der Rolf keine Ahnung.

Ich würde es eher so ausdrücken, dass ich eine andere Meinung oder einen 
anderen Geschmack habe.

von 1234 (Gast)


Lesenswert?

Der (x)emacs hat den Vorteil, dass man klicken und im Menü suchen kann 
wenn einem der Shortcut nicht einfällt. Das brauche ich bei den 
selteneren Befehlen öfters mal.
Vielleicht geht das beim vi auch ähnlich, aber ich stand mit dem immer 
auf Kriegsfuss :-)

von Sven B. (scummos)


Lesenswert?

KDevelop hat auch einen vi-Eingabemodus! ;)

von dadada (Gast)


Lesenswert?

"Emacs oder Vim - was soll ich lernen?"

Eine klassiche Eroeffnung fuer einen Flame-War, zuendet hier aber nicht 
richtig :-)

von MaWin (Gast)


Lesenswert?

> was bringt euch mehr? Emacs oder Vim?

Beide sind die Steinzeit der Computerei und seit 30 Jahren überholt.
Genau das richtige für Masochisten die den Schuss nicht mehr gehört 
haben.

von aadd (Gast)


Lesenswert?

Emacs ist sehr mächtig, kann fast alles. Was er nicht kann, kann man 
ergänzen. Es ist nur eine Frage des Aufwandes. Allerdings wird er nur 
noch von einigen Freaks verwendet und wohl selten für größere 
Programmierprojekte. Das Bedienkonzept stammt aus dem vorigen 
Jahrtausend und jeder der die heute bekannten grafischen IDEs 
kennengelernt und verstanden hat, will nicht mit emacs oder vi arbeiten. 
Bis auf die unverbesserlichen Freaks aus den älteren Jahrgängen.
Dazu kommt, dass es keine ausführlichen Dokumentationen zu emacs gibt, 
auch nicht in käuflicher Buchform. Das bekannte Tutorial der 
Fernuni-Hagen kratzt nur etwas an der Oberfläche.

Alles gesagte gilt im wesentlichen auch für vi. Nur dass bei vi die 
Bedienung noch gewöhnungsbedürftiger ist.

von Thomas_L (Gast)


Lesenswert?

Profis verwenden selbstverständlich ed ;-)

Übrigens ist EMACS die Abkürzung für:

Escape
Meta
Alt
Control
Shift.

Und das kannst Du wörtlich nehmen.

von .... (Gast)


Lesenswert?

Verstehe nicht, warum so ein Theater um die Editoren gemacht werden. 
Tippen muss man nämlich überall noch selbst, denken sowieso. Und selbst 
bei sperrigen Programmiersprachen macht die Tipparbeit nur einen sehr 
kleinen Anteileil der Softwareentwicklung aus. Der automatisierbare Teil 
einen noch kleineren Anteil.

von aadd (Gast)


Lesenswert?

> Übrigens ist EMACS die Abkürzung für:


"Eight Megabytes And Constantly Swapping" aus einer Zeit wo 8MB noch 
sehr viel war.

von Sam P. (Gast)


Lesenswert?

Zur Ausgangsfrage: Beides, oder keinen. Beide haben ihre Vorteile. Beide 
kosten viel Zeit um reinzukommen.

VI startet sehr schnell und ist auf fast jedem Unix verfügbar. Das ist 
dann nicht notwendigerweise VIM, aber eben irgendein anderer VI-Klon 
oder gar das Original. Wer öfter mal auf der Kommandozeile arbeitet und 
das vielleicht noch in beschränkten Umgebungen (Recovery-Modus, 
uralt-Hardware, unbekanntes Unix) wird ihn nicht missen wollen. Dass man 
den Cursor sogar per Buchstabenkürzel bewegen kann, ist eine 
unschätzbare Hilfe bei Terminalproblemen oder Tastaturen ohne 
Cursortasten (Smartphone). Die Bedienung ist aber wirklich sehr anders 
als alle anderen Editoren. Große Projekte würde ich damit nicht angehen.

Emacs ist das Ultimum an Personalisierbarkeit. Ich mache in Emacs Dinge, 
die kein Eclipse kann, es sei denn ich würde Eclipse umprogrammieren. 
Und das ist der wesentliche Vorteil vom Emacs: Die Hürde, ihn 
umzuprogrammieren ist so niedrig, dass man das "mal eben so nebenbei" 
erledigt -- kein Editor-Neustart nötig, man kann seinen Code verändern 
und immer wieder ausprobieren. Das, und der Umstand, dass es tausende 
Webseiten mit Codebeispielen zu allen möglichen Funktionen gibt, macht 
Emacs so besonders und mächtig.

Leider ist Emacs auch die denkbar schlechteste Wahl: Er ist lahm, er 
wird in LISP programmiert (und einem unkomfortablen Dialekt noch dazu), 
er trägt Altlasten von 30 Jahren mit sich rum, und man braucht Wochen, 
bis man sich den Komfort eingerichtet hat, den man von herkömmlichen 
IDEs gewohnt ist. Und wenn Englisch eine Hürde für dich ist (als 
Programmierer eigentlich ein totales no-go), wirst du auch nicht viel 
Dokumentation haben. Und man muss sich an viele Tastenkombinationen 
gewöhnen -- Emacs hat Menüs, aber seine Stärke ist die 
Tastaturbedienung, darauf muss man sich einlassen.

Wenn du ohnehin nur in einer oder zwei Programmiersprachen arbeitest, 
und dich nicht an fremdes Projektmanagement anpassen musst, dann such 
dir eine IDE, die diese Sprachen vernünftig umsetzt. Eclipse ist da 
immer ein gut erster Versuch. Hast du aber klare eigene Vorstellungen, 
was dein Editor machen soll und bist nicht bereit, dich dem Diktat 
deiner IDE zu unterwerfen, könnte Emacs für dich sein.

Sei dir der oben genannten Nachteile bewusst, aber lass es dir auch 
nicht mies reden: Mein Emacs findet automatisch heraus, zu welcher Sorte 
Projekt eine Datei gehört (Autoconf, Perl, plain Make usw.) und passst 
sich jedem Buildsystem an, er hat für 8 Sprachen Code-Completion, 
Call-Tips (wie IntelliSense) und kontinuierliche Syntaxüberprüfung. Dazu 
kommt, dass Emacs von allen Editoren und IDEs die ich kenne das 
solideste Syntax-Highlighting hat -- gerade als Perl-Programmierer 
kennst du das Problem bestimmt. Emacs hat eine aktive Community mit 
eigenem Wiki und neuerdings auch Erweiterungen per integriertem 
Paketmanagement, dazu tausende Webseiten von Anwendern mit deren kleinen 
Codeschnippseln. Durch die durchgängige Tastaturbedienung kann man nach 
der Einarbeitung schneller arbeiten als in einer menügeführten IDE. Und 
da Emacs sowohl per GUI als auch per Text-Terminal läuft, kann man sein 
erlerntes Wissen auch mal über eine SSH-Verbindung anwenden.

Zusammenfassung:

Meiner Meinung nach braucht man früher oder später auf  jeden Fall 
VI-Kenntnisse, wenn man gelegentlich mit der Kommandozeile arbeitet. 
Emacs lohnt sich nur, wenn der hohe Aufwand für Einarbeitung und 
Personalisierung (in LISP-Code) auch durch einen persönlichen Mehrwert 
ausgeglichen wird. In dem Fall ist er aber das Ultimum an Flexibilität. 
Wer den Aufwand (und das Lernen neuer Tastenkürzel und gleichzeitig 
einer funktionalen Programmiersprache) scheut, wird bei soliden 
Fertiglösungen wie Eclipse glücklicher.

von vi (Gast)


Lesenswert?

Nen vi gibts auf jeder Unix Kiste.

von Adler (Gast)


Lesenswert?

MaWin (Gast) schrieb:

>> was bringt euch mehr? Emacs oder Vim?

> Beide sind die Steinzeit der Computerei und seit 30 Jahren überholt.
> Genau das richtige für Masochisten die den Schuss nicht mehr gehört
> haben.

Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber 
nachdenken sollte, warum einen das eigene OS zu solch einer Wahl 
zwischen Pest und Colera nötigt. Der Fisch stinkt bekanntlich am Kopf 
zuerst. Alles was auch heutzutage sich noch beharrlich weigert intuitiv 
zu sein, gehört ins Museum und nicht auf einen modernen Desktop (mit 
Ausnahme von sehr spezieller Software die quasi "alternativlos" 
daherkommt, dann aber auch meistens entsprechend teuer ist).

Schon mal Scite probiert?

von Lukas K. (carrotindustries)


Lesenswert?

Ich hatte mich letztens mal ein wenig mit vim beschäftigt und bin zu 
folgendem Schluss gekommen: Um mal schnell Konfigurationsdateien und 
Einmalskripte zu schreiben perfekt (besser als nano), aber für den 
täglichen Einsatz mir persönlich zu umständlich. Oder will mir wer weiß 
machen, dass ESC :w schneller geht als CTRL-s?

von wlad (Gast)


Lesenswert?

> Oder will mir wer weiß
> machen, dass ESC :w schneller geht als CTRL-s?

Völlig unerheblich, wie schnell ein bestimmter Befehl ist. Wie schnell 
ist denn in deinem Editor das Kopieren der nächsten 3 Zeilen, das 
Löschen der nächsten 2 Wörter, oder der Sprung zum Ende der gerade 
geöffneten Klammer?

Wenn man so versucht zu argumentieren, welcher Editor der beste ist, 
wird man zurecht nicht ernstgenommen.

Was in erster Linie zählt, ist dass man das Programm beherrscht, egal 
welches es ist.

wlad

von user (Gast)


Lesenswert?

vim kann Suchen + Ersetzten mit regex und andere funktionen, die ich 
nicht mehr missen will. Du brauchst etwas zum reinkommen, aber sobald du 
drin bist ist es genial, und ich kenne vielleicht 5% des Funktionsumfang 
von vim.

zB. ctrl-x ctrl-f möchte ich nicht mehr missen, damit kannst du nach 
Dateinamen suchen.

von user (Gast)


Lesenswert?


von Nicht "Gast" (Gast)


Lesenswert?

Moin, wie wärs alternativ mit Joe? Den verwende ich am liebsten

von Sven B. (scummos)


Lesenswert?

user schrieb:
> vim kann Suchen + Ersetzten mit regex
Naja, also das kann heutzutage wirklich jeder Editor. ;)

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Ich bin zu emacs gekommen, wie die Jungfrau zum Kind! Ich habe C und 
emacs gleichzeitig gelernt (lernen müssen), und ich will ihn nie mehr 
missen!

von Sam P. (Gast)


Lesenswert?

Adler schrieb:
> Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber
> nachdenken sollte, warum einen das eigene OS zu solch einer Wahl

Was hat das Betriebssystem mit der Programmierumgebung zu tun?

> zuerst. Alles was auch heutzutage sich noch beharrlich weigert intuitiv
> zu sein, gehört ins Museum und nicht auf einen modernen Desktop (mit

Das richtige Werkzeug für den richtigen Zweck. Übliche IDEs haben zwar 
schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss. 
Mal eben einen Bereich korrekt Einrücken, um den man gerade eine 
Schleife hinzugefügt hat? Einrückung vergrößern/verkleinern, das können 
die besseren gerade noch. Aber welcher kann vollautomatisch korrekt 
einrücken und sich dabei jedem denkbaren Einrückungsstil anpassen?

Dazu kommt: Eine IDE, die einen zwingt, die Maus in die Hand zu nehmen, 
ist kein ernstzunehmendes Werkzeug. Das ist was für 
Gelegenheitsprogrammierer. Wer wirklich ohne Störung des Gedankenflusses 
programmieren will, der braucht etwas, was sich blind bedienen lässt, 
und das geht nunmal nur über geeignete Tastenkürzel.

Tasten sind irgendwann im Kleinhirn gespeichert, man benutzt sie blind, 
ohne Nachzudenken. Für Mausklicks muss man vom Code wegsehen, von der 
Tastatur zur Maus greifen, zielen und ggf. mehrfach die Reaktion des 
Programms abwarten (Menüs, Untermenüs, Dialoge). Für "Suchen und 
Ersetzen" muss man das Maus-Tastatur-hin-und-her gleich mehrfach machen. 
Und nein, die universell verfügbare Tab-Taste zum Wechsel zwischen 
Eingabefeldern zählt nicht, weil man dann immer noch auf das visuelle 
Feedback vom Programm warten muss. Änderungen an der Benutzeroberfläche 
ändern automatisch auch Tab-Positionen. Buchstabenkürzel (Alt+Buchstabe) 
sind manchmal auch vorhanden und etwas besser, aber in der Praxis war 
noch jedes "intuitive" Programm umständlicher zu bedienen als ein gut 
erlerntes textbasiertes Programm.

Das ist das gleiche Spiel wie mit 3D-Modellierern, Schaltplan-Editoren 
oder Echtzeit-Strategiespielen: Der Einsteiger ist auf "Entdeckbarkeit" 
angewiesen, benutzt Menüs, Icons, Dialogfenster. Der Profi will vor 
allem schnell und direkt jede gewünschte Funktion aufrufen können. Jeder 
Wechsel des Eingabegeräts, jede Schleife 
Programm-Auge-Hirn-Hand-Programm ist verlorene Zeit und verlorene 
Konzentration.

Wer also hin und wieder mal ein kleinen Programm für Mikrocontroller 
schreibt, kriegt mit einem Werkzeug wie Emacs nicht das, was am meisten 
nützt. Wer täglich stundenlang programmiert, tut sich mit einer IDE mit 
minderwertigem Editor keinen Gefallen. Es behindert die Produktivität 
erheblich.

Oder als Analogie aus der Elektronik: Wer nur ein paar einfache 
Steuerungsaufgaben erledigen will ohne gleich ganze Geräte und 
Schaltungen zu entwerfen, ist mit Arduino oder mbed bestens bedient. Wer 
flexibel sein will und alle seine Vorstellungen exakt umsetzen will, 
wird eher auf Steckbrett oder Lochraster experimentieren, auch wenn die 
weniger Komfort bieten und einen zwingen, mehr per Hand zu machen.

von Sven B. (scummos)


Lesenswert?

Also ich will eine IDE, die die Semantik meiner Sprache versteht, nicht 
mehr missen. Es geht einfach so viel schneller, auf einem Klassennamen 
Ctrl+. zu drücken, als von Hand irgendein Header-File rauszusuchen... 
das ist für mich persönlich wesentlich produktiver, als da mit vim 
irgendwas rumzubasteln.

Natürlich ist vim ein feiner Editor, aber ich benutze ihn in der Praxis 
nur zum Editieren von z.B. Konfigurationsdateien.

von Christian X. (bert1943)


Lesenswert?

Wenn man viel an unterschiedlichen Unixen herumadministriert, ist der VI 
von Vorteil, weil er immer da ist.

von Salewski, Stefan (Gast)


Lesenswert?

Lukas K. schrieb:
> Ich hatte mich letztens mal ein wenig mit vim beschäftigt und bin zu
> folgendem Schluss gekommen: Um mal schnell Konfigurationsdateien und
> Einmalskripte zu schreiben perfekt (besser als nano), aber für den
> täglichen Einsatz mir persönlich zu umständlich. Oder will mir wer weiß
> machen, dass ESC :w schneller geht als CTRL-s?

Na ja, wenn man eine GUI hat, dann nimmt man wohl eher gvim -- und der 
ist schon sehr gut. Ich habe die letzten Jahre meist gedit benutzt, bin 
dann vor einem halben Jahr auf gvim umgestiegen. Hat sich gelohnt.

Emacs ist wohl noch etwas mächtiger, für Leute die Scheme können und 
lieben vielleicht die erste Wahl. Emacs kann Proportionalfonts 
verwenden, das wäre für mich ein Plus gewesen.

von Arc N. (arc)


Lesenswert?

Sam P. schrieb:

> Das richtige Werkzeug für den richtigen Zweck. Übliche IDEs haben zwar
> schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss.
> Mal eben einen Bereich korrekt Einrücken, um den man gerade eine
> Schleife hinzugefügt hat? Einrückung vergrößern/verkleinern, das können
> die besseren gerade noch. Aber welcher kann vollautomatisch korrekt
> einrücken und sich dabei jedem denkbaren Einrückungsstil anpassen?

Welche brauchbare IDE kann das nicht? VS, Eclipse, Netbeans können das 
alles.
Als vim damals auf dem Amiga erschien, hätte es lebenslanges 
Computerverbot für den "Programmierer" geben müssen und religiös 
verblendete Fanatiker (emacs) muss ich nicht unterstützen.

von Georg A. (georga)


Lesenswert?

> Moin, wie wärs alternativ mit Joe? Den verwende ich am liebsten

Der Joe hat ein alter-ego, nämlich jmacs. Das ist Joe aber mit den 
wichtigsten Emacs-Kommandos. Für schnelle Editieraktionen (config-File, 
...) ist das super, ist sofort da und man kommt mit den Tastenkombis zum 
Emacs nicht durcheinander...

Ansonsten nehm ich (x)emacs (was halt installiert ist), obwohl ich 
eigentlich da nicht gross rumkonfigurier oder gar Lisp mache. Ich finde 
es sehr schön, für ALLE Anwendungen (C, ASM, VHDL, Perl, TeX, XML, XSL, 
...) dieselbe Editor-Umgebung zu haben und das auf allen Platformen und 
mit oder ohne GUI. Finde ich persönlich wichtiger, als die 
Unterstützungen von Classbrowsern, Symbol-Datenbanken etc. Wenn jemand 
zB. nur C++ macht, mag das natürlich anders sein, mein Portfolio lebt 
jedenfalls vom Universal-Diletantismus :)

Beim vi weiss ich im wesentlichen nur, wie ich was abspeichere bzw. OHNE 
Abspeichern rauskomme... Das Verhalten der vi-Varianten auf Cursortasten 
ist mir jedenfalls suspekt. Man weiss nie, ob man im Insert-Mode 
gefahrlos eine drücken kann, ohne dass Control-Code-Dreck im Text 
landet.

von Adler (Gast)


Lesenswert?

Sam P. (Gast) schrieb:

Adler schrieb:
>> Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber
>> nachdenken sollte, warum einen das eigene OS zu solch einer Wahl

> Was hat das Betriebssystem mit der Programmierumgebung zu tun?

Anscheinend sehr viel, denn unter Windows würde niemals jemand auf die 
Idee kommen, einen so krankhaften Scheiss wie die beiden genannten 
"Editoren" (die den Namen heutzutage nicht mehr nicht verdienen) zu 
empfehlen.

> Übliche IDEs haben zwar
> schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss.

Der Editor von MS Visual Studio ist sehr gut. Man muss auch nicht jeden 
Krampf mit dem Editor anstellen, den man von vi sich einmal ins Gehirn 
gefräst hat. Wenn's ums programmieren geht verbringt man die Zeit mit 
ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus 
stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet 
oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu 
verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau 
das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit 
ÜBERLEGUNG verbracht.

von Sven B. (scummos)


Lesenswert?

Also den Eclipse-Editor mag ich wirklich gar nicht, aber "bei üblichen 
IDEs ist der Editor der letzte Scheiß" finde ich auch wesentlich zu weit 
gegriffen. ;)

von dito (Gast)


Lesenswert?

Adler schrieb:
> Der Editor von MS Visual Studio ist sehr gut. Man muss auch nicht jeden
> Krampf mit dem Editor anstellen, den man von vi sich einmal ins Gehirn
> gefräst hat. Wenn's ums programmieren geht verbringt man die Zeit mit
> ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus
> stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet
> oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu
> verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau
> das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit
> ÜBERLEGUNG verbracht.

Ja, das sehe ich ganz genauso!

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Gut, dann oute ich mich jetzt:
Ich nutze emacs auch in Windows!

Was man sich alles für Anfeindungen gegen einen oder zwei Editoren 
einfallen lassen kann ist schon grandios!

Zum Thema Class oder Functionbrowsing: M-x speedbar
;-)

von foo (Gast)


Lesenswert?


von Adler (Gast)


Lesenswert?

Patrick Dohmen (oldbug) (Moderator) schrieb:

> Gut, dann oute ich mich jetzt:
> Ich nutze emacs auch in Windows!

Patrick schrieb auch

> Ich bin zu emacs gekommen, wie die Jungfrau zum Kind! Ich habe C und
> emacs gleichzeitig gelernt (lernen müssen), und ich will ihn nie mehr
> missen!

Du bist aus zwei Gründen "entschuldigt". Zum einen hast du selbst 
betont, dass du emacs lernen MUSSTEST und zum anderen schätze ich mal 
das ist schon länger (viele Jahre) her und somit kennst dich inzwischen 
sehr gut mit emacs aus. Dagegen ist absolut nichts einzuwenden bzw. kann 
ich gut verstehen. Die Frage ist halt, ob man das heutzutage auch noch 
so handhaben MUSS?!

;)

von Matthias K. (rino1)


Lesenswert?

Das Wort MUSS mag ich gar nicht, weil es hört sich immer so an als ob es 
keine Alternative gibt. Und sowas gibt es schon zwei mal nicht.

Wenn einer es sagt ich muss das machen, dann werde ich dafür auf 
jedenfall
dafür bezahlt und dann habe ich immer noch eine Wahl.

??????????????????????????????????????????????????????????????????????

Gruß,
Matthias K.

von python (Gast)


Lesenswert?

Die wahl: arbeitslos und spaß dabei :-)

außerdem hat man dann zeit, vim, mutt, irssi etc. zu lernen :-)
jetzt brauch ich noch nen guten rss cli reader

Man muss sich auch kein Windows8 kaufen oder im Büro benutzen, wenn man 
den Desktop schrott findet ;-)

von Christian B. (casandro)


Lesenswert?

Eine praktische Diskussion dazu findet sich hier:
https://www.youtube.com/watch?v=2Hy89myXLvc
Ein schönes Zitat daraus, "Ich bin jetzt nicht betrunken aber ich nehme 
sed".



Ich muss gestehen, ich nehme ganz "normale" Editoren wie den mcedit oder 
kate. Die einzige "richtige" Entwicklungsumgebung die ich verwende ist 
Lazarus, die teilt sich Quellcode mit dem Compiler und kann somit 
wirklich verstehen was ich schreibe.

von Robert L. (lrlr)


Lesenswert?

>Emacs oder Vim ?

>programmiere ich recht viel,

viel?

das glaub ich nicht..

wer WIRKLICH Programmiert, hat min. 20 Sourcefiles gleichzeitig offen,
dazu noch Hilfetexte/Webseiten/sonstige Nachschlagewerke

die IDE muss vorallem Codevervollständigung könne,
funktionsparameter anzeigen (als HINT)
fehler sofort anzeigen
automatisch zur implementierung einer funktion springen können
automatisch den hilfe-text zur funktion anzeigen können
codeblöcke ein/ausblenden
beim debuggen unterstützen usw. usw. usw.

und (manchmal) auch einen GUI designer enthalten ..

von Sam P. (Gast)


Lesenswert?

Adler schrieb:
> Wenn's ums programmieren geht verbringt man die Zeit mit
> ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus
> stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet
> oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu

Und da sieht man, das wir zwei unterschiedliche Auffassungen von 
Programmieren haben. Ich rede natürlich von dem Teil des Programmierens, 
der mit der Erstellung des Quelltextes verbracht wird. Für das andere 
(Entwurf, UI-Design) braucht man keinen Editor. Da benutze ich genau so 
wie du GUI-Werkzeuge (UML-Editor, UI-Layouter) -- wie schon gesagt, das 
richtige Werkzeug für den richtigen Zweck.


> verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau
> das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit
> ÜBERLEGUNG verbracht.

Mit Verlaub, nein. Erst die Planung, dann die Durchführung.

Wenn du während des Schreibens von Quelltext tatsächlich regelmäßig 
überlegen musst, dann beherrschst du deinen Problembereich noch nicht.

Natürlich gibt es immer unvorhergesehene Probleme, aber dann musst du 
doch um so mehr Ablenkungsfrei arbeiten können. Jedes mal, wenn du 
irgendwo anders hingucken musst, um irgendeine Aktion auszulösen, wird 
dein Arbeitsgedächtnis unnötig belastet.

Die von dir "kryptisch" genannten Tastaturbefehle kannst du jedoch blind 
benutzen. Wenn du erst einmal Tastaturbedienung gewohnt bist, musst du 
nicht nachdenken. Deine Finger (genauer: dein Kleinhirn) kennen die 
nötigen Tastenkürzel von selbst. Die Augen bleiben im Quelltext, dein 
Geist auch.

Ich weiß, es ist müßig darüber zu reden: Wer sich noch nie darauf 
eingelassen hat, der versteht es einfach nicht. Das ist so, wie 
jemanden, der zig Projekte mit Arduino gemacht (und hinbekommen) hat, 
davon zu überzeugen, dass Steckbrett oder Lochraster viel mächtiger 
sind.


Robert L. schrieb:
> wer WIRKLICH Programmiert, hat min. 20 Sourcefiles gleichzeitig offen,
> dazu noch Hilfetexte/Webseiten/sonstige Nachschlagewerke

Und genau deswegen bevorzuge ich einen Editor, mit dem ich schnell und 
direkt navigieren kann. Den ich mir so einstellen kann, dass ich die 
gesuchten Informationen möglichst schnell bekomme. Meine Finger rufen in 
weniger als einer Sekunde exakt die gesuchte Datei auf, und zwar nicht 
nur unter den 20 offenen, sondern auch unter den 200 zuletzt benutzen. 
Das mache ich nicht bewusst, das läuft so automatisch wie ich mir die 
Nase putze. Das ist das Mächtige an der Tastaturbedienung.

Und wenn ich von einem flexiblen Editor rede, dann rede ich von Dingen 
wie:

 - mit einem Tastendruck bis zum Zeilenende löschen
 - mit einem Tastendruck nur den aktuellen Klammerausdruck löschen
 - ein Wort in Groß- oder Kleinbuchstaben wandeln
 - den drittletzten kopierten Text nochmal einfügen
 - an Anfang/Ende der aktuellen Funktion springen
 - zur Stelle der letzten (vorletzten, ...) Änderung springen
 - eine Änderung rückgängig machen, aber nur die vorletzte
 - alle Änderungen in einem bestimmten Bereich rückgängig machen
 - den Einrückungsstil einer Datei automatisch erkennen und bewahren
 - einen Kommentar unter Erhaltung von Rahmenzeichen korrekt einrücken
 - einen ganzen Block vorübergehend auskommentieren (und zurück)
 - einen Text in allen (auch ungeöffneten) Projektdateien
   (Dokumentationsdateien, anderen Projekten, ...) suchen
 - schnell mal das Projekt wechseln um etwas zu vergleichen



> die IDE muss vorallem Codevervollständigung könne,
> funktionsparameter anzeigen (als HINT)
> fehler sofort anzeigen
> automatisch zur implementierung einer funktion springen können
> automatisch den hilfe-text zur funktion anzeigen können
> codeblöcke ein/ausblenden
> beim debuggen unterstützen usw. usw. usw.

Da gebe ich dir recht (ausser das mit den Codeblöcken -- hat man gute 
Navigationsfunktionen, benutzt man das eigentlich gar nicht mehr). Darum 
nehme ich emacs. Ich kenne keine IDE, die das für alle Sprachen kann, 
die ich benutze. Sicher, VS, Eclipse, Netbeans usw sind sehr stark, wenn 
man deren primäre Sprachen benutzt. Ich habe so einige benutzt/benutzen 
müssen. Aber immer wieder nervt der unflexible Editor, so dass ich zu 
Emacs zurückkehre.

Dem kann ich auch beibringen, mich nicht mit Tooltips und Popup-Menüs zu 
nerven, die mir Teile des Quelltextes verdecken. Das mag ich nicht. Dank 
der Flexibilität eines komplett gescripteten Editors hatte ich die Wahl, 
das an den unteren Bildschirmrand zu verbannen. Und dank der Community 
musste ich das nicht einmal selber herausfinden, das Problem hatte schon 
einmal jemand anders gelöst. Er zeigt mir die Call-Tips auch mit 
farblichen Hervorhebungen und mit den Informationen in der Reihenfolge 
an, wie ich sie haben möchte.

Und dank der freien Programmierbarkeit lassen sich eben die 
Komfortfunktionen nachrüsten. Die Community hat für vieles Lösungen. Das 
ist der Teil, wo man Zeit braucht, um sich das so zusammenzustellen, wie 
man es selber mag. Das sagte ich bereits: Gelegenheitsprogrammierer 
brauchen diese Flexibilität nicht. Es kostet zu viel Einarbeitung, es 
kostet viel Zeit für Personalisierung. Aber wer viel programmiert, für 
den lohnt es sich. Man kann das gelernte in allen Projekten anwenden. 
Egal ob es eine HTML-Seite, ein AVR-Assemblerprogramm oder eine komplexe 
Java-Businessanwendung ist. Welche IDE kann mit ihrem Komfort quer durch 
alle Anwendungsgebiete?

von Sven B. (scummos)


Lesenswert?

Robert L. schrieb:
> wer WIRKLICH Programmiert
http://xkcd.com/378/

edit: ach Mist, den gab's ja in diesem Thread schonmal :D

von Tomboy (Gast)


Lesenswert?

Ich habe den Thread damals geöffnet und muss zugeben, dass ich mich 
lange Zeit vor dem lernen gedrückst habe. Da es aber jetzt ein Update 
gibt, möchte ich euch das gerne mitteilen.

Ich habe mit Beginn der Semesterferien angefangen Vim zu lernen und 
bereue inzwischen, dass ich das nicht schon viel früher gemacht habe.

Am Anfang war es ungewohnt - vor allem dachte ich beim durcharbeiten des 
"vimtutor" das ich Monate brauchen werde um an den Punkt zu kommen, mit 
VIM ernsthaft entwickeln zu können. Aber ich wurde eines besseren 
belehrt. Für den Vimtutor habe ich mir 2 Tage Zeit gelassen, dann noch 
rund 3 Tage in den Büchern "Hacking vim" und "Practical vim" quer 
gelesen. Und dann hat es auch keine weitere 3 Tage gedauert, bis ich mir 
eine voll funktionsfähige C++ IDE gebaut habe mit C++11 Syntax 
Highlighting, Code Completion, Classview Browser, Doxygen, Git-Anbindung 
usw. usf.

Jetzt habe ich eine eigene .vimrc , die ich beim OS Wechsel oder bei Neu 
installation nur aufrufen muss und er richtet mir alles inkl. 
Colorscheme, Font, Plugins automatisch ein. :) !

Die letzten zwei Tage habe ich angefangen dann meine Projekte weiter zu 
entwickeln und die Zeit ersparnis durch die Tastaturbindung ist 
gewaltig. Zum resizen von Fenstern im Splitview benutze ich manchmal 
noch die Maus. Das wars.

Ich kann nur sagen, das war die beste Investitoin an Lernzeit die ich 
bislang getätigt habe. Einfach Unvergleichlich

von Tomboy (Gast)


Lesenswert?

Achja, ich benutze übrigens nicht GVim, sondern Vim im Terminal :) !

von Stefan R. (srand)


Lesenswert?

Vim: God of editors
Emacs: Editor of Gods

von alesi (Gast)


Lesenswert?

Tomboy schrieb:
> Emacs oder Vim?

Editor war
http://en.wikipedia.org/wiki/Editor_war

Emacs vs Vim
http://www.diffen.com/difference/Emacs_vs_Vim

vi or emacs?
http://oreilly.com/pub/a/oreilly/ask_tim/1999/unix_editor.html

Don't get me wrong: Emacs is a great operating system---it lacks
a good editor, though.
http://thomer.com/vi/vi.html

von Tomboy (Gast)


Lesenswert?

alesi schrieb:
> Tomboy schrieb:
>> Emacs oder Vim?
>
> Editor war
> http://en.wikipedia.org/wiki/Editor_war
>
> Emacs vs Vim
> http://www.diffen.com/difference/Emacs_vs_Vim
>
> vi or emacs?
> http://oreilly.com/pub/a/oreilly/ask_tim/1999/unix_editor.html
>
> Don't get me wrong: Emacs is a great operating system---it lacks
> a good editor, though.
> http://thomer.com/vi/vi.html

Schau mal zwei Post höher ;) !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.