[gelöst] Arbeitseffizienz mit verschiedenen Texteditoren - normal vs. vi vs. Emacs



  • Schade, ich hatte gehofft, dass hier in strukturwissenschaftlichen Kreisen (Informatik ist ja eigentlich keine Strukturreligion) auch solche persönlichen Sachen ausnahmsweise mal unpersönlich betrachtet werden können. 😉
    Bei Betriebssystemen und Programmiersprachen find ich das genauso albern. Klar steh ich selbst total auf Linux, C++, Turnen und Rock-Balladen. Trotzdem kann ichs doch mit Windows, Java, Fußball und Techno vergleichen und objektiv Sachen wie Verbreitung, Vor- und Nachteile usw. feststellen.
    Wenn ich merke, dass ich mit Goa im CD-Player doppelt so viele Klimmzüge wie mit Punk schaffe, werd ich mir überlegen, ob ich zukünftig nicht nur noch mit Goa auf den Ohren trainieren werde, ganz einfach.

    Und wenn man täglich viele Stunden mit seinem Texteditor verbringt finde ich schon, dass man da auch ganz unvoreingenommen mit Ergebnissen anderer Methoden vergleichen sollte, wenn man denn zum Ziel hat, besser zu werden.

    Und weil ich nicht mal eben nur zum Rausfinden, wie viel da so geht, ein paar Jahre vi und ein paar Jahre Emacs üben will, hatte ich halt auf Videos (Statistiken wären zu schön) gehofft.

    Naja, vielleicht hab ich ja Glück, und es postet noch einer etwas in der Art. 🙂



  • Hier mal ein Video zu Vim: http://www.youtube.com/watch?v=eX9m3g5J-X

    Der Hauptvorteil fuer mich von vim ist: Er ist fuer (fast) alle Sprachen geeignet. Visual Studio kann ich beispielsweise nicht fuer Scheme oder Java verwenden. Fuer jemanden, der nur in einer Sprache programmiert, ist das wohl nicht entscheidend.

    objektiv [..] Vor- und Nachteile usw. feststellen

    Das ist ein widerspruch. Obiger Vorteil verschindet auch fuer manche. Jedwede Einteilung ist subjektiv. Nur Fakten sind objektiv.

    hier auch nur ungern Betriebssysteme, Java vs. C++ und Religion vs. Wissenschaft diskutiert

    Ich hatte genau den umgekehrten Eindruck.

    Statistiken

    Vim vs. Emacs


  • Mod

    knivil schrieb:

    hier auch nur ungern Betriebssysteme, Java vs. C++ und Religion vs. Wissenschaft diskutiert

    Ich hatte genau den umgekehrten Eindruck.

    Ok, es wird sogar sehr gerne diskutiert :p , aber es ist immer ein Flamewar.

    Dein Link funktioniert übrigens nicht. 😞



  • knivil schrieb:

    Hier mal ein Video zu Vim: http://www.youtube.com/watch?v=eX9m3g5J-X

    "The URL contained a malformed video ID."

    knivil schrieb:

    Der Hauptvorteil fuer mich von vim ist: Er ist fuer (fast) alle Sprachen geeignet. Visual Studio kann ich beispielsweise nicht fuer Scheme oder Java verwenden. Fuer jemanden, der nur in einer Sprache programmiert, ist das wohl nicht entscheidend.

    Oh, da hab ich wohl schon wieder nicht gut erklärt, was ich meinte.
    Es geht mir um die generellen Verschiedenen Arten, Texte zu bearbeiten, nicht um irgendwelche speziellen Programme, die das implementieren.
    Visual Studio, Eclipse, Gedit, Kate, Notepad++ usw. sind in dem Fall für mich das gleiche, genau wie das vi-Konzept an verschiedenen Stellen Anwendung findet.

    knivil schrieb:

    objektiv [..] Vor- und Nachteile usw. feststellen

    Das ist ein widerspruch. Obiger Vorteil verschindet auch fuer manche. Jedwede Einteilung ist subjektiv. Nur Fakten sind objektiv.

    Wieso? Deine feststellung, dass Visual Studio nicht alle Sprachen kann, vi aber schon, ist doch objektiv, auch wenns wie oben erwähnt nicht das war, was ich meinte.
    Ich hatte halt an sowas gedacht wie: X ist gut, wenn man oft ganze Textblöcke hin und her schiebt, weil man dafür n weniger Tasten drücken muss. Y ist besser wenn man ständing weite Sprünge in der Datei machen will, weil ... Z lernen die Leute im Schnitt schneller, dafür verbessert man sich nach ein paar Jahren kaum noch damit, was Geschwindigkeit angeht, mit X steigert man sich aber noch nach 5 Jahren und überholt Z dann, weil bla blub.

    Aber na gut, ihr habt mich überzeugt, das sowas hier wohl nicht möglich ist. Schade, hätte ich nicht gedacht.
    Wär vielleicht mal Thema für ne Forschungsarbeit. 😉



  • knivil schrieb:

    Statistiken

    Vim vs. Emacs

    So mißt man:
    Emacs p0wnt Vim



  • Dobi schrieb:

    Wenn ich mit vi, Emacs oder sonstwas (gibts ja auch als plug-ins) schneller sein könnte, würd ich aber auch viel Übungszeit in Kauf nehmen.

    hängt vom Anwendungsziel ab.

    ich bin beim TeXten mit emacs-auctex meßbar schneller als mit allen anderen, die ich probiert habe.

    deshalb:

    die Abkürzungen von auctex für viele häufige Befehle wie `a für \alpha
    Die Autocompletion für Klammern.
    Schließlich noch die Tastatursteuerung von emacs und das buffer/window-Konzept. Besonders bei 10-Fingersystem inkl Sonderzeichen.



  • Kann vielleicht jemand bei Gelegenheit hier http://www.c-plusplus.net/forum/287097-full vorbeischauen und mir den einen oder anderen Tipp geben 🙂 (Es geht um Visual Studio 2010 Express Edition vs. gVim)



  • Seit ihr wirklich die meiste Zeit bei SW Entwickeln mit Code tippen beschäftigt?



  • @!rr!rr_.: Danke, auf solche Posts hatte ich gehofft. 🙂
    Du hast nicht zufällig Lust, ein kurzes Poservideo davon zu machen? 😃

    @mel ehrlich: Ne, also ich zumindest nicht. Ist halt nur ein Teil der Arbeit, aber den kann man ja wie die anderen Teile auch, verbessern. Ich finde, dass so ein bischen handwerkliches Geschickt, und dazu zähl ich (Quell-)Textbearbeitung jetzt einfach mal, auch zu so einem Denkerberuf wie unserem dazugehört.



  • Ich kann mir irgendwie nicht vorstellen, dass man bei einem Editor-Umstieg großartig schneller werden kann. Normalen Text zu tippen geht einfach nicht fixer und Autocompletion kann fast jede IDE. Wie wild in den Zeilen hin- und herzuspringen, selektieren und löschen geht schon mit den üblichen Windows-Shortcuts richtig schnell, da kann man meiner Meinung nach nicht viel herausholen.

    Einzig sowas wie "`a" für "\alpha" mag wirklich vorteilhaft sein, habe ich in der Programmiersprache meiner Wahl noch nie gebraucht.

    Trotzdem wäre ich natürlich ziemlich interessiert an der Info, wenn es sinnvolle Shortcuts gibt, die man z.B. in Visual Studio so nicht hat.

    Was wäre denn dieses buffer/window Konzept von emacs? Ich kann dazu bei Google auf die Schnelle nichts vernünftiges finden.



  • Also ich nutze derzeit ReSharper für C# und muss schon sagen, dass mir alleine dadurch viel Arbeit abgenommen wird. Das Tippen von Code wird nur wenig schneller (schreibt man bspw. prop dann wird danach ein Property daraus, also eine Sammlung von Makros quasi). Aber die meiste Zeit verschwendet man ja in der IDE für:

    - Refactoring
    - Suchen (Text, GoTo Type/Method/etc., Implementierungen, Basisklassen, weiß der Teufel was)
    - Debugging

    Also ich zumindest. Und da zeigt sich eine gute IDE imho.

    MfG SideWinder



  • Dobi schrieb:

    Aber na gut, ihr habt mich überzeugt, das sowas hier wohl nicht möglich ist. Schade, hätte ich nicht gedacht.
    Wär vielleicht mal Thema für ne Forschungsarbeit. 😉

    Naja, genauso interessant wie eine Forschungsarbeit ob Rittersport besser schmeckt als Milka oder der Schokoladigkeit/Preis-Quotient bei Valrhona noch vertretbar ist. 🙂

    Ich benutze Emacs nicht, weil ich meinen Code damit so viel schneller tippe als mit irgendeinem anderen Editor. Ich benutze ihn, weil er unheimlich erweiterbar ist und sich genau an meine höchst privaten und subjektiven Bedürfnisse anpassen lässt.

    Darüber hinaus sind einige meiner Lieblingsfeatures:

    • org-mode
    • auctex
    • gutes Buffer-Management
    • Major-/Minor-Mode-Unterteilung
    • Rectangle Editing
    • Tastatur-Makros
    • funktioniert für jede Sprache, der ich bis jetzt begegnet bin

    Das heißt nicht, dass es nichts gibt, was mich am Emacs stört. Emacs ist primär der Texteditor, in dem ich mich am wenigsten beengt fühle und der mir mittlerweile – nach einigen Jahren Verwendung – beim Denken am wenigsten im Weg ist.

    Normalerweise ist genau das der Flaschenhals beim Arbeiten und wenn ein Tool es schafft, mir wenig im Weg zu sein, dann ist das zwar in einem YouTube-Video nicht sonderlich spektakulär, für mich aber letztlich unverhältnismäßig wertvoller als irgendwas hübscher präsentierbares.



  • Dobi schrieb:

    Visual Studio, Eclipse, Gedit, Kate, Notepad++ usw. sind in dem Fall für mich das gleiche, genau wie das vi-Konzept an verschiedenen Stellen Anwendung findet.

    Wie das? Dass du die Trennlinie willkürlich zwischen Emacs, vim und allem anderen ziehst, macht es nicht weniger eigen, zwischen Emacs, vim und allem anderen zu vergleichen. Eclipse und Gedit sind sehr, sehr unterschiedliche Tools, vielleicht ähnlich verschieden wie vim und Emacs. Dass sie ähnliche Keybindings benutzen, heißt noch gar nichts.

    Wenn dich Emacs oder vim interessieren, probier doch einfach mal einen der beiden für irgendein kleines echtes Projekt aus, und schau dann, ob du damit irgendwas anfangen kannst. (Ich habe auch lange mit KWrite/Kate gearbeitet und mit Emacs nur herumgespielt. Dass der auch zum Arbeiten sehr gut taugt, habe ich erst Jahre später festgestellt.)

    Die Qualität von derart komplexen Tools lässt sich nunmal nicht objektiv messen; unterschiedliche Menschen sind bei unterschiedlichen Arbeiten mit unterschiedlichen Tools unterschiedlich produktiv.



  • Ich arbeite primär mit Visual Studio + Visual Assist X.
    Was mir dabei am meisten abgeht, ist ne mächtigere Formatierungs-Funktion. Für C# macht Visual Studio das ja ganz nett, aber bei C++ geht mir einiges ab.

    Abgesehen davon wüsste ich nicht, wo mir ein anderer Text-Editor viel abnehmen könnte.



  • @hustbaer: http://www.profactor.co.uk/stylemanager.php (und wahrscheinlich noch einige andere Tools)

    MfG SideWinder



  • @SideWinder:
    Lustig, genau das Ding hab' ich mir mal von meinem Chef erschnorrt.
    Ist ziemlich gut zum Reformatieren von ganzen Projekten.

    Ich meine aber eher was was immer nebenbei mitläuft, und formatiert sobald man Enter drückt, nen Semikolon oder ne schliessende Klammer schreibt.



  • Wenn du genügend Rechenpower hast kannst du das Tool ja via MEF-Extension nach jedem Editor-Update für das aktuelle File anwerfen 🤡

    Schon klar, das ist nicht optimal. Stört mich auch, darf aber jetzt zum Glück mit C# 🙂

    MfG SideWinder



  • Dobi schrieb:

    @!rr!rr_.: Danke, auf solche Posts hatte ich gehofft. 🙂
    Du hast nicht zufällig Lust, ein kurzes Poservideo davon zu machen? 😃

    es muß echt bergab gehen mit der Welt ... jetzt reicht zum Posen schon die Benutzung von emacs 😃

    Tatsache: ich bin schneller beim TeXten von reinem Formeltext mit emacs-auctex als mit anderen Systemen, die ich probiert habe. Zu den erwähnten Vorteilen kommen noch die praktischen automatischen Klammern hinter _ und ^, und wenn man keine handschriftliche Vorlage hat: preview-latex zur Übersicht über das bereits geschriebene schon beim Tippen (wenn es funktioniert), außerdem habe ich noch dutzende eigene Tastenkombinationen in der .emacs definiert, Buffernavigation mit Pfeiltasten usw. die automatische Ergänzung von auctex bei allen \begin{...} ... \end{...} nicht zu vergessen.

    ps. 10-Fingersystem inkl Sonderzeichen ist ein enormer Beschleuniger zur flüssigen bedienung von emacs, mit 2-Finger-Suchsystem relativiert sich die Sache wahrscheinlich etwas.



  • nman schrieb:

    Naja, genauso interessant wie eine Forschungsarbeit ob Rittersport besser schmeckt als Milka oder der Schokoladigkeit/Preis-Quotient bei Valrhona noch vertretbar ist. 🙂

    Argh. 😃
    Mir gehts doch nicht um den Geschmack von Texteditoren sondern wie schnell man damit im Schnitt zum Ergebnis kommt. Die analoge Schkololadenstudie wär eher, mit welcher der Schokoladen man schneller sein Ziel erreicht Sumo-Ringer-Ausmaße zu bekommen. 😉

    nman schrieb:

    Wie das? Dass du die Trennlinie willkürlich zwischen Emacs, vim und allem anderen ziehst, macht es nicht weniger eigen, zwischen Emacs, vim und allem anderen zu vergleichen. Eclipse und Gedit sind sehr, sehr unterschiedliche Tools, vielleicht ähnlich verschieden wie vim und Emacs. Dass sie ähnliche Keybindings benutzen, heißt noch gar nichts.

    Na gut, so fühlte es sich halt für mich an.
    Wenn ich Notepad benutzen kann, kann ich auch direkt problemlos was in Kate, Gedit, Eclipse, Visual Studio usw. zusammentippen (mir gehts ja nur um die Textbearbeitung). Mit vi und Emacs musst ich komplett neu lernen. Und als ich wussen, wie man vi benutzt, hat mir das für meine Emacs-Versuche danach auch nicht geholfen. Deshalb dachte ich, dass man da von drei verschiedenen Konzepten sprechen kann. Kann aber natürlich auch gut sein, dass ich dank zu wenig Erfahrung da einfach falsch kategorisiert hab, weil ich irgendwas nicht erkannt hab.

    !rr!rr_. schrieb:

    es muß echt bergab gehen mit der Welt ... jetzt reicht zum Posen schon die Benutzung von emacs 😃

    Nein, ich meinte nicht, dass es beeindruckend ist, Emacs oder vi zu benutzen, sondern dass es beeindruckend ist, wenn man etwas herausragend gut kann. Und da hatte ich hat gehofft, was zu sehen, wo man erkennt, wie viel krasser man vielleicht mit einem der Editoren, mit denen ich nicht so gut kann, abgehen kann. Na gut, wird wohl nix. 😉

    !rr!rr_. schrieb:

    ps. 10-Fingersystem inkl Sonderzeichen ist ein enormer Beschleuniger zur flüssigen bedienung von emacs, mit 2-Finger-Suchsystem relativiert sich die Sache wahrscheinlich etwas.

    Jaja, wir wissen ja, dass du nicht hinguckst. Ich tipp übrigens auch schon seit Jahren auf sowas.
    http://www.getdigital.de/images/produkte/t4/t4_dasKeyboardUltimateEU.jpg
    😉


  • Mod

    Ein paar Klitzekleinigkeiten die noch niemand genannt hat, die zunächst lächerlich klingen, aber in der Summe dann doch einen nennenwerten Vorteil darstellen:

    1. bash hat standardmäßig die gleiche Bedienung wie emacs. Daher brauche ich keine Umgewöhnung bei den von mir am meisten genutzten Tippaufgaben (ich wünschte, das Editierfenster hier im Forum wäre auch emacs-kompatibel, dann wäre die Welt perfekt 🙂 ).
    2. Kurze Wege: Viele andere Editoren brauchen doch recht häufig die Tasten Insert, Home, Page Up & Co. Dafür muss ich die rechte Hand bewegen. Oder auf Laptoptastaturen komische Verrenkungen machen. CTRL+A klingt zwar zunächst umständlicher als Home, aber es ist einfach leichter zu erreichen. Insbesondere dann, wenn man CapsLock zu einer weiteren CTRL-Taste gemacht hat, was ich jedem empfehle (sowohl weil CapsLock allgemein ziemlich unnütz ist als auch für Emacsnutzer um den berüchtigten Emacsfinger zu vermeiden).
    3. Die Grundkommandos kommen meinem Workflow entgegen. Klar habe ich meinen Workflow offensichtlich an emacs angepasst, daher ist das subjektiv. Aber ich habe das Gefühl, dass es nicht viel besser geht. Bei zeilenbasierten Editieraufgaben (wie Programmieren) brauche ich z.B. ungeheuer oft Dinge wie "Rest der Zeile löschen". Bei (ich nenne sie mal so) windowsartigen Editoren wäre das shift+End, Del, Del (ich lasse mich gerne belehren, falls das besser geht). In emacs ist das eine der grundlegendsten Tastenkombinationen. Siehe auch Punkt 2.
    4. Mag nicht mehr aktuell sein, weil ich schon lange nichts anderes mehr intensiv benutzt habe: Die Funktionsweise der automatischen Einrückung und der Klammer-Prüfung ist die beste die ich kenne.
    5. Wenn man, wie ich, auch abundzu mal ein vollkommen verkonfiguriertes Suse 7 auf einem Laptop ohne Navigationstasten wieder herrichten muss: Tastenkombinationen mit CTRL oder Alt funktionieren auf jedem noch so abgefahrenen System. Die Schnelltasten (oder sogar so grundlegende Dinge wie links, recht, oben und unten) vieler anderer Editoren setzen voraus, dass das System einigermaßen normal ist.
    6. ⚠ Emacs kann man auch im reinen Textmodus sehr gut benutzen. Eigentlich ganz genau so wie immer, außer dass die Vorschau in auctex nicht geht. Das kann kein anderer Editor außer vim! Das ist ungeheuer wichtig, wenn man öfters mal über ssh ohne X arbeitet oder einen Server ohne Desktopoberfläche administriert. Dies würde ich sogar als den Hauptvorteil für mich ansehen, weil ich doch sehr oft Remote arbeite auf Systemen die nur ssh anbieten (und ssh mit X Weiterleitung ist einfach zu lahm über Internet).

    Was mir an Emacs nicht gefällt:
    - Meine Version hat einen Bug im grafischen Modus, bei dem es (nicht reproduizierbar 😡 , meistens nach Größenänderung des Fensters) 1-2 mal die Woche einfach mal hängen bleibt und man erst mit der Maus einen beliebigen Dialog öffnen und wieder schließen muss, damit die Tastaturbedienung wieder anspricht. Das ist soweit ich weiß ein bekannter Fehler, aber noch nicht behoben.
    - Abundzu mal (sehr selten) kommt die Autoeinrückung nicht richtig mit C++-Konstruktoren zurecht und ich habe keine Ahnung warum.

    Wie man sieht, sind diese zwei Dinge handfeste Bugs, die vielleicht irgendwann mal behoben werden, keine Fehler im grundlegenden Konzept.


Anmelden zum Antworten