Emacs-as-OS: veraltet? [geschlossen]


22

Um mit einem so legendären Editor zumindest den Anfängerstatus zu erreichen, programmiere ich seit zwei Monaten in Emacs. Ich versuche, ein offenes Herz zu haben, aber ich bin mit einer Kernentwurfsentscheidung überhaupt nicht einverstanden: Emacs erlaubt seinen Benutzern, niemals gehen zu müssen. In einer Welt von 2010 denke ich einfach, dass jede Nebenfunktion von Emacs hoffnungslos hinter dedizierter Software steckt:

  • Ich würde niemals den eingebauten Browser verwenden. Chrome ist Jahre voraus.
  • Ich würde niemals die Dired-Funktion verwenden. Path Finder (Mac OS X) entspricht meinen Anforderungen.
  • Ich würde niemals die eingebaute E-Mail-Adresse verwenden. Die Google Mail-Weboberfläche verfügt über relevantere Funktionen wie Priority Inbox.
  • Etc.

Sicher, ich könnte gelegentlich in Emacs eintauchen, um Regexps usw. für eine der oben genannten Aufgaben zu verwenden, aber abgesehen von Regexps sehe ich wirklich keinen Grund, diese Nebenfunktionen jemals zu berühren. Ich bin ein absoluter Neuling, habe aber das starke Gefühl, dass Emacs-as-an-OS veraltet ist.

Glauben Sie, dass die Entscheidung von Emacs für ein umfassendes Umfeld die richtige Wahl für 2010 und die Zukunft ist? Gibt es bestimmte periphere Merkmale, die ihrer Zeit im Vergleich zu Alternativen noch weit voraus sind?


9
Ist das wirklich eine Frage? Es sieht so aus, als hättest du dich bereits entschieden.
Larry Coleman

5
@Emacs ist wirklich nett für die Entwicklung von gcc + gdb in einer Unix-Umgebung. Es ist auch schön zum Schreiben von LaTeX.

20
Aus diesem Grund hat Emacs einen Psychiater eingebaut.
Tim Post

3
@ Tim, Mx Tetris macht viel mehr Spaß.

2
Ich verstehe dich total ... Ich habe vi jahrelang benutzt und einige Zeit gebraucht, um Emacs zu lernen ... und bin zu dem Schluss gekommen, dass beide einfach nicht meinen Bedürfnissen entsprechen ... für die Programmierung bevorzuge ich eine moderne IDE (Eclipse) und für die einfache Textbearbeitung / Skripterstellung ist Nano in Ordnung.
Oliver Weiler

Antworten:


14

Ich benutze Emacs seit 10 Jahren (von und bis), und ich kann nur sagen, dass Sie absolut Recht haben . Früher habe ich Gnus und den W3-Browser verwendet, aber im Vergleich zu dedizierten Programmen sind sie dem eindeutig nicht mehr gewachsen. Aber offensichtlich können Sie Chrome nicht im Textmodus ausführen, daher gewinnt hier Emacs. Und selbst dort würde ich lieber Luchs / Elch oder Köter dafür verwenden.

Der Emacs-the-Programmers-Editor hat ebenfalls seine Aufmerksamkeit verloren. Textbearbeitung ist in Ordnung, aber wenn ich Code schreibe, wünsche ich mir Funktionen wie: Gehe zu Definition, automatische Vervollständigung, Refactoring, Syntaxhinweise, Parameterdokumente usw. usw. (denken Sie an Eclipse). Ich habe ein paar Emacs-Modi ausprobiert, aber es hat nie richtig funktioniert. Und nein, ich möchte nicht elisp lernen, danke.

Außerdem verstehen Emacs die Semantik des Codes nicht wirklich. Dies ist schmerzlich offensichtlich, wenn in einer Datei mit mehreren Sprachen wie HTML mit Javascript und PHP oder etwas codiert wird. Es bricht einfach zusammen. Dafür benutze ich viel lieber einen anderen Editor (Notepad ++ oder was auch immer), der die Arbeit viel besser macht.


5
Von den Sachen, die Sie auflisten, hat Emacs tatsächlich "goto definition" (mit etags), "auto completion" ( autocomplete.elglaube ich), Syntaxhinweise / Parameter docs ( sprachweise ). Das einzige, von dem Sie erwähnen, dass es AFAIK nicht unterstützt, ist das automatisierte Refactoring, das weder für alle Sprachen notwendig noch nützlich ist. Mehrere Modi sind allerdings grausam; es existiert und unterstützt PHP und gemischte Sprachen, aber es ist schlecht (wie in zu langsam, wenn ich nicht auf meinem Desktop bin). Ich gebe Ihnen auch den gleichen Rat, den ich jedem Mitarbeiter gebe: Wenn Sie Lisp nicht lernen möchten, verwenden Sie keinen Emacs, es wird nichts für Sie tun.
Inaimathi

8
Einverstanden; Emacs ist kein Betriebssystem. Mein Einwand ist "Emacs-der-Programmierer-Editor hat auch seinen Touch verloren". Dies ist ein besonders unbegründetes Argument, da Sie sich weigern, Elisp zu lernen, da der größte Vorteil von Emacs-the-Programmers-Editor darin besteht, Anpassungen vorzunehmen. Ich würde nichts dagegen haben, "Ich benutze keinen Emacs, weil ich keine Lust habe, Lisp zu lernen", aber Sie lassen es so klingen, als ob Ihre vorsätzliche Unkenntnis des Werkzeugs dessen Fitness beeinträchtigt. Dies entspricht meiner Aussage: "Eclipse ist zum Kotzen, weil es keine PHP-Unterstützung bietet. Und ich möchte nicht lernen, wie man Plugins installiert, danke."
Inaimathi

1
@Inaimathi Sie müssen weder elisp (noch eine andere Sprache) lernen, um Eclipse richtig nutzen zu können. Für die Installation von Plug-Ins ist dies ebenfalls nicht erforderlich.
Martin Wickman

2
@Martin - Es hat keine PHP-Unterstützung eingebaut (oder nicht, als ich es benutzt habe); Dazu musst du ein Plugin installieren. Die obige zitierte Aussage ist äquivalent zu "[Editor] ist zum Kotzen, weil es keine [Funktion, die es tatsächlich hat, aber die muss aktiviert werden] hat, aber ich habe keine wirkliche Lust, [etwas zu lernen, was Sie tun müssen, um es zu tun." ermöglichen es]“, und mein Punkt war , dass dies ist ein unvernünftiges Argument.
Inaimathi

3
@ Inaimathi: In Bezug auf das Refactoring suchte ich nach einem automatisierten C ++ - Refactoring-Programm, und eines der wenigen, das ich fand, befand sich in elisp. Wenn du sagst "Emacs unterstützt kein X", liegst du sehr wahrscheinlich falsch.
David Thornley

19

Wählen Sie das richtige Werkzeug für den Job.

Versuchen Sie, Chrome oder Path Finder über eine SSH-Verbindung auszuführen. Hier benötigen Sie alternative Tools und Emacs wurde für die Ausführung in einem Terminal entwickelt.


Guter Punkt zu ssh.
AlcubierreDrive

3
x11 weiterleitung?
TheLQ

7
Wie viele Leute benutzen tatsächlich einen Webbrowser über eine SSH-Verbindung?
Compman

1
@compman, ja. Es kann äußerst nützlich sein, um Dateien von Websites herunterzuladen.

1
OS X verfügt über VNC. Tunneln Sie einfach die VNC-Verbindung über SSH, und Sie müssen sich keine Sorgen machen, dass OS X X11 nicht verwendet.
Lie Ryan

8

Ich benutze den eingebauten Therapeuten nicht einmal so oft, aber ich benutze Emacs und es gefällt mir, nicht wegen seiner umfassenden Natur, sondern weil es als Texteditor unendlich konfigurierbar und leistungsstark ist. Außerdem kenne ich viele Tastenanschläge dafür. Erfolgreiche Textbearbeitung dreht sich alles um die Tastenanschläge.

Wenn Sie Ihre Produktivität damit entwickeln möchten, hat Steve Yegge einige gute Tipps.


Ich bin absolut nicht einverstanden mit Steves Ansatz, Tonnen von Schlüsseln neu zu binden, um Emacs dazu zu bringen, sich zu benehmen. Lernen Sie die Standardtastenbelegung kennen und optimieren Sie mit Ihren .emacs deren Verhalten.

Sein Hauptanliegen ist die Ergonomie. Er sagt nicht, dass es ein Problem mit den Standardbindungen gibt, sondern, dass es ein Problem gibt, wo sich die Tasten auf der Tastatur befinden und ob Sie sie benutzerfreundlich gestalten möchten , Sie müssen Tasten für diesen Zweck finden, damit Sie sich nicht mit den kleinen Fingern in den äußersten Ecken der Tastatur verheddern müssen. Ich kann den Sinn darin erkennen, aber es schränkt Sie ein, wenn Sie häufig die Maschine wechseln, da Sie dann einen anderen Satz von Muskelgedächtnissen benötigen oder ewig damit verbringen, jede von Ihnen verwendete Maschine neu zu konfigurieren.
Glenatron

5

Emacs war nie für den Massenmarkt gedacht. Es wurde für die effiziente Nutzung durch Personen entwickelt, die sich die Zeit genommen haben, um zu lernen, wie es funktioniert. Das heißt, eine Größe passt nicht für alle, so dass Sie Emacs vielleicht nicht mögen, auch wenn Sie mehr darüber erfahren haben.

BEARBEITEN: Meine beiden Lieblingsfunktionen von Emacs sind neben der Textbearbeitung der Shell-Modus und Gnus. Nachdem ich wegen all dem Spam über Google Groups frustriert war, habe ich mich bei Eternal September angemeldet und gelernt, wie man Gnus benutzt. Es ist viel schneller, durch Nachrichten zu navigieren, und es werden nur gelegentlich Spam-Nachrichten gesendet, und es ist nur ein Tastendruck erforderlich, um sie zu entfernen. Der Shell-Modus ist für mich bei der Arbeit besonders nützlich, da das Kopieren / Einfügen effizienter ist als bei einer DOS-Eingabeaufforderung.


Ich werde den Texteditor nicht als veraltet abtun. Ich stimme zu, es ist sehr effizient, wenn man sich erst einmal daran gewöhnt hat. Meine Frage bezieht sich auf das Verdienst der Designentscheidung, dass Sie in der Lage sein sollten, alles und jeden zu tun, ohne Emacs zu verlassen. Gibt es bestimmte Peripheriefunktionen, die immer noch großartig sind, oder haben Sie Einblick in die Geschichte der ehemals großartigen Peripheriefunktionen, die jetzt übertroffen wurden?
AlcubierreDrive

1
Nachdem ich Ihre Kommentare gelesen hatte, habe ich den Abschnitt "Entlassung als veraltet" herausgeschnitten. Ich benutze Emacs nicht für alles, aber ich mag den Shell-Modus und Gnus wirklich.
Larry Coleman

Süss! Als Antwort auf Ihr Feedback habe ich meiner Frage eine neue zweite Hälfte hinzugefügt. Ihr Kommentar beantwortet es so +1
AlcubierreDrive

1
Auch die Fähigkeit, alles in Emacs zu tun, machte 1994, als Computer viel langsamer waren als heute, viel mehr Sinn. Ich benutze dired von Zeit zu Zeit, wenn ich schon in Emacs bin und die Shell oft benutze. Es ist ein Gewinn für mich, viele Dinge in meinem Editor erledigen zu können oder zumindest, ohne mit der Maus arbeiten zu müssen. Möglicherweise haben Sie einen anderen Geschmack (dies ist in gewisser Weise eine Frage des Geschmacks)
Zachary K

2

Ich bin immer eher auf Emacs als auf eine Plattform zugegangen, als auf eine Out-of-the-Box-Lösung. Es gibt viele Pakete, die Funktionalität oder Zweck duplizieren, und es liegt an Ihnen, zu entscheiden, ob sie Ihren Anforderungen entsprechen oder nicht.

Das ist auch der Grund, warum viele Dinge nicht mehr aktuell sind. Die meisten Leute (die ich sowieso getroffen habe), die Emacs verwenden, verwenden es nicht, um E-Mails zu lesen oder im Internet zu surfen. Es fällt mir jedoch schwer, einen anderen Editor zu finden

  • als ausgereifte Remote-Bearbeitungsfunktionen
  • Freiform-Inline-Makroerstellung und -bearbeitung
  • Tiefe und Breite der verfügbaren Erweiterungen / Pakete

Es ist seit über einem Jahrzehnt mein bevorzugter Redakteur für Softwareentwicklung und Textverarbeitung.

Das Beste ist, ich muss meine Maus nicht berühren, wenn ich Emacs verwende.


2

Emacs könnte ein Betriebssystem für Sie sein, wenn Sie bereit sind, Lisp zu lernen und Ihre eigenen Funktionen zu schreiben, die Ihren Anforderungen entsprechen.

Aber heutzutage finden Sie alles, was Sie brauchen, in anderen Werkzeugen, die von anderen großartigen Leuten hergestellt wurden. Diese Leute haben diese Werkzeuge gemacht, weil sie das Gefühl hatten, dass sie sie brauchen, genau wie Sie, die sie benutzen werden. Da es sich bei vielen von ihnen um Open Source handelt, gibt es eine Community, die sie mit allen Funktionen, die Sie benötigen, immer besser macht.

Der Versuch, Emacs zu verbessern, ist schwierig, weil man Lisp lernen muss. Auch bestehende Plugins werden immer älter. Nehmen wir zum Beispiel Sprachmodi, gängige Sprachen wie JS und PHP werden selbst für die Syntaxhervorhebung kaum unterstützt. Der beste Modus, den Sie für sie finden konnten, ist einfach nicht genug.

Emacs ist ein großartiges Werkzeug in den richtigen Händen und für die richtigen Aufgaben. Es gibt jedoch bessere Tools für bestimmte Aufgaben, und Sie sollten diese stattdessen unbedingt verwenden.


1

Ich möchte keinen heiligen Krieg beginnen, eigentlich gab es eine Zeit, in der ich jeden zweiten Tag Emacs benutzte (ein Tag vim, ein Tag emacs). Es ist nichts falsch mit Emacs, es ist in der Tat ein großartiges Werkzeug. Tolles, tolles Werkzeug.

Aber als echter Vim'er war ich immer ein bisschen frustriert darüber, dass viele Emacser versuchen, Emacs buchstäblich überall für buchstäblich alle Aufgaben einzusetzen.

E-Mails lesen, Datenbanken abfragen, PDFs lesen - das sind die unschuldigsten Aufgaben, die ich als "abgemagert" gesehen habe.

Was mich betrifft, gibt es drei Hauptbereiche für die Verwendung von Emacs:

  1. Textbearbeitung. Und es ist umwerfend, super Werkzeug. Glauben Sie mir, nachdem Sie vim oder emacs für lange Zeit verwendet haben, werden Sie seine Funktionen in den fortschrittlichsten IDEs völlig vermissen.

  2. IDE. Nun, es könnte getan werden. Außerdem könnte es irgendwie mit Modi-IDEs konkurrieren. Tatsache ist jedoch, dass Sie hart investieren sollten, um wirklich wettbewerbsfähig zu sein. Sie sollten versuchen, viele verschiedene Skripte zusammenzustellen. Sie sollten sogar Ihre eigenen Code-Schnipsel schreiben. Ich würde nicht, um ehrlich zu sein.

  3. Andere Aufgaben, die meisten exotisch oder sogar esoterisch. Tetris spielen und so weiter. Besser nicht.


1
Als langjähriger Benutzer von emacs und vi (mehr als 20 Jahre Erfahrung in beiden Bereichen, davon etwa 1 Jahr als Haupteditor) finde ich Emacs in der Nähe der höchsten Stufe, wenn gelegentlich "Ich habe repetitiven Code" auftaucht , lassen Sie den Editor automatisch generieren "(anstatt beispielsweise einen anderen Code zu schreiben und ihn dann zu kompilieren und auszuführen, um den Code zu generieren).
Vatine

0

Irgendwo in meiner Sammlung von Dingen, von denen ich sicher bin, dass meine Frau wünscht, ich würde sie einfach wegwerfen, habe ich eine Kopie von Emacs auf QIC-40-Band. Ich habe 50 Dollar dafür bezahlt.

Ich konnte es damals nicht ertragen, ich kann es jetzt nicht ertragen. Ich sage nicht, dass es für manche kein großartiger Editor ist, aber für mich steht es einfach mehr im Weg als alles andere. Es war ursprünglich geplant, die Schlüssel für die Cola-Flasche zu umgehen , und das hat sehr gut geklappt.

Wenn Sie ein Programm oder ein anderes Programm ausführen, tun Sie dies in der Hoffnung, dass es Ihre Produktivität steigert (oder zumindest nicht beeinträchtigt). Wenn es bei Ihnen nicht funktioniert, verwenden Sie es nicht.

Vertrau mir, du bist nicht das Problem.


2
"Dies ist ein wichtiges Artefakt und es gehört in ein Museum!"

1
"Wenn es bei Ihnen nicht funktioniert, verwenden Sie es nicht" ist ein Appell an die Subjektivität, daher ist "Sie sind nicht das Problem" ein Widerspruch.
Jon Purdy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.