[gelöst] Arbeitseffizienz mit verschiedenen Texteditoren - normal vs. vi vs. Emacs
-
-
Leute, jetzt mal ehrlich, was macht ihr alle beim Programmieren, wo man ach-so-viele Mausklicks bräuchte wenn man nicht mit emacs/vi/... arbeitet?
Bitte konkrete Beispiele von etwas was ihr öfter braucht.
Wie gesagt: zum Programmieren, NICHT zum TeXten oder andere Dinge.
-
hustbaer schrieb:
Leute, jetzt mal ehrlich, was macht ihr alle beim Programmieren, wo man ach-so-viele Mausklicks bräuchte wenn man nicht mit emacs/vi/... arbeitet?
Debuggen. Das tue ich immer mit einer Hand auf der Tastatur für Breakpoint setzen/aufheben, Run/Stop/Step-In/Out/Over, Bookmarks setzen/aufheben und dann die Maus fürs betrachten der Variablen und innerhalb des Codes navigieren.
Sonst brauch ich die Maus eigentlich nur beim GUI zusammenklicken und Testen
-
Dobi schrieb:
Mir gehts doch nicht um den Geschmack von Texteditoren sondern wie schnell man damit im Schnitt zum Ergebnis kommt.
Völlig unerheblich. Du kannst nur die Tippgeschwindigkeit sinnvoll messen, die ist aber das mit Abstand uninteressanteste und im Regelfall auch überall gleich. Code runterschreiben kann ich mit so ziemlich jedem Editor ähnlich schnell. Dass ich beim regulären Arbeiten mit Emacs um Größenordnungen schneller sein werde, als mit Visual Studio und vim liegt nicht an Visual Studio und vim sondern an mir und meiner Übung mit den jeweiligen Tools.
hustbaer schrieb:
Leute, jetzt mal ehrlich, was macht ihr alle beim Programmieren, wo man ach-so-viele Mausklicks bräuchte wenn man nicht mit emacs/vi/... arbeitet?
Bitte konkrete Beispiele von etwas was ihr öfter braucht.
Zum Zeugs selektieren. Mit normalen Texteditoren muss ich dafür immer die Hände aus der 10-Finger-Tipp-Position entfernen, weil ich Shift und die Cursortasten brauche. Beim Rectangle Editing genau das gleiche. Beim Debuggen auch. Zum beim Copy&Pasten den richtigen Clipboard-Inhalt aus der History raussuchen, wo ich bei Emacs die Tastatur benutze. Mir fallen bestimmt noch weitere Beispiele ein, aber das sind alles Punkte, bei denen ich bei fremden Laptops mit ungewohntem Touchpad und ohne Emacs dauernd stolpere.
-
SeppJ schrieb:
Bei zeilenbasierten Editieraufgaben (wie Programmieren) brauche ich z.B. ungeheuer oft Dinge wie "Rest der Zeile löschen".
Ich verwende zB. beim Korrekturlesen irgendwelcher Texte auch dauernd Capitalize und die Transpose-Funktionen etc. Natürlich könnte ich das auch manuell machen, aber ich finde es beim Arbeiten sehr angenehm, weil es wieder ein paar mentale Kontextswitches weniger sind.
Ack auch zum Rest deines Posts. Wobei mir andere Sachen auf die Nerven gehen und ich die Hänger nicht kenne.
-
nman schrieb:
Dass ich beim regulären Arbeiten mit Emacs um Größenordnungen schneller sein werde, als mit Visual Studio und vim liegt nicht an Visual Studio und vim sondern an mir und meiner Übung mit den jeweiligen Tools.
Mittlerweile ist für mich das interessanteste an dem Thread, dass ich lerne, wie unverständlich ich mich anscheinend ausdrücke.
Aber ich probiers nochmal: Dass man mit dem Tool, das man gut kennt, am schnellsten ist, ist mir vollkommen klar. Es hätte ja aber sein können, dass Leute die mit X sehr viel Übung haben im Schnitt wesentlich schneller sind als Leute, die mit Y sehr viel Übung haben, einfach weil X so und so.Einige sehr gute Infos besonders zu Emacs hab ich dann ja aber trotzdem erhalten. Danke dafür.
-
Dobi schrieb:
Mittlerweile ist für mich das interessanteste an dem Thread, dass ich lerne, wie unverständlich ich mich anscheinend ausdrücke.
Ich glaube eigentlich, dich zu verstehen, offensichtlich tue ich mir aber schwer, meine Gedanken dazu gut zu vermitteln.
Aber ich probiers nochmal: Dass man mit dem Tool, das man gut kennt, am schnellsten ist, ist mir vollkommen klar. Es hätte ja aber sein können, dass Leute die mit X sehr viel Übung haben im Schnitt wesentlich schneller sind als Leute, die mit Y sehr viel Übung haben, einfach weil X so und so.
Die Frage ist: Sagt dir das dann irgendwas? Alleine aufgrund der Usergruppen, die mit einem Tool viel Erfahrung haben, hast du ja schon einen gewaltigen Selection Bias.
Wie genau misst du außerdem die Performance bei einem nicht trivialen Problem? Es ist ja doch was anderes, möglichst schnell ein Hello world dahinzurotzen, als wirklich ein echtes Problem in freier Wildbahn zu lösen. Und je weniger konstruiert die Beispiele werden, desto wichtiger werden alle Non-Editor-Einflüsse.
Ich verstehe schon, was du machen möchtest. Ich glaube nur, dass du es dir viel zu einfach vorstellst. Wie willst du denn eine Varianzenanalyse machen, wenn du keine Ahnung hast, welche Variablen und Gruppen du überhaupt analysieren möchtest und wie du Performance messen sollst.
Natürlich könntest du feststellen, dass Benutzer von Visual Studio viel schneller C#-Programme schreiben können, als Emacs-Benutzer. Aber das könnte auch daran liegen, dass der durchschnittliche VS-User mehr Ahnung von C# hat, als daran, wie gut Visual Studio für C# geeignet ist (wobei es dafür bestimmt gut ist, keine Frage). Ich glaube auch, dass der durchschnittliche vim-User besseres C schreibt, als der durchschnittliche Textmate-User. Das liegt aber auch eher daran, in welchen Zielgruppen die jeweiligen Tools verbreitet sind, als an sonstwas.
All diese Einflüsse kannst du nicht einfach ausblenden. Zumindest dann nicht, wenn du eine Analyse haben möchtest, die irgendeine Aussagekraft für irgendwas hat.
-
Eine schöne Ausarbeitung, die das statistisch erfasst und dabei die unterschiedlichen Faktoren berücksichtigt und so, wär natürlich zu schön.
Deshalb wär ich ja mit einem einfachen Video, in dem ich mal jemanden sehe, der mit Emacs oder vim wirklich schnell ist, schon zufrieden gewesen. Dann hätte ich ganz gefühls- und geschmacksmäßig entschieden, ob das was ist, in das ich mal Zeit zum richtigen Ausprobieren investieren will.
-
Für Emacs: Schau dir doch einfach mal ein paar Screencasts zu orgmode, auctex, slime, cedet oä. an.
Hier sind auch noch ein paar Screencasts, vielleicht auch brauchbare:
http://www.emacswiki.org/emacs/EmacsScreencastsDas sollte eine recht nette Einführung sein:
http://peepcode.com/products/meet-emacsSpeed-Editing-Poservideos finde ich persönlich eher abschreckend, die musst du selbst suchen.
-
Für VIM gibt's auch ganz nette Screencasts (Vimcasts), wobei dort natürlich nicht sonderlich schnell editiert wird - eher im Gegenteil, damit man dem Ganzen auch folgen kann.
Ganz interessante Videos könnten sein:
http://vimcasts.org/episodes/creating-the-vimcasts-logo-as-ascii-art/
http://vimcasts.org/episodes/aligning-text-with-tabular-vim/
-
Dobi schrieb:
... Dann hätte ich ganz gefühls- und geschmacksmäßig entschieden, ob das was ist, in das ich mal Zeit zum richtigen Ausprobieren investieren will.
Nein, daraus wird nichts. Du musst die Tools anfassen und bedienen lernen - danach entscheiden, ob sie was taugen oder nicht. Wenn dir die Leute sagen, Tool X sei gut - dann muss was dran sein und würde sich lohnen, es auszuprobieren.
Ich benutze gerne vi (gVim) und empfehle dir, vi zu benutzen. Ich behaupte mal, man kann damit effektiver arbeiten als mit anderen Editoren. Vielleicht rein subjektivkeine Ahnung, das wirst du selbst merken. Bei mir ist es so: Ich arbeite damit effektiver als mit anderen Editoren. Das fängt an mit Positionieren des Cursors, z.B. Setzen des Cursors am Anfang der Funktion, am Ende, an der nächten leeren Zeile, an der zugehörigen schließenden Klammer, ob eckig, oder rund oder was auch immer, bis komplexeren wie "Mappen" von mehreren Kommandos auf eine Taste, "Copypasten" mit mehreren Registern. Man muss bei der Bedienung umdenken lernen, vor dem eigentlichen Tippen erst denken, dann tippen, entweder Kommandos eintippen, die den Text modifizieren oder was auch immer, oder einfach den eigentlichen Text eintippen. Ja... so einfach ist das, erst denken, dann tippen...
-
abc.w schrieb:
Dobi schrieb:
... Dann hätte ich ganz gefühls- und geschmacksmäßig entschieden, ob das was ist, in das ich mal Zeit zum richtigen Ausprobieren investieren will.
Nein, daraus wird nichts. Du musst die Tools anfassen und bedienen lernen - danach entscheiden, ob sie was taugen oder nicht. Wenn dir die Leute sagen, Tool X sei gut - dann muss was dran sein und würde sich lohnen, es auszuprobieren.
Also so langsam komm ich mir vor, als nehmt ihr mich auf den Arm.
Ich hab doch geschrieben, dass ich, wenn ich einen Anreiz sehe, das ganze richtig Ausprobieren würde, was ja bedeutet, dass ich die Tools anfassen und bedienen lernen würde, um dann zu entscheiden, ob es was für mich ist.abc.w schrieb:
Ich benutze gerne vi (gVim) und empfehle dir, vi zu benutzen. Ich behaupte mal, man kann damit effektiver arbeiten als mit anderen Editoren. Vielleicht rein subjektiv
keine Ahnung, das wirst du selbst merken. Bei mir ist es so: Ich arbeite damit effektiver als mit anderen Editoren. Das fängt an mit Positionieren des Cursors, z.B. Setzen des Cursors am Anfang der Funktion, am Ende, an der nächten leeren Zeile, an der zugehörigen schließenden Klammer, ob eckig, oder rund oder was auch immer, bis komplexeren wie "Mappen" von mehreren Kommandos auf eine Taste, "Copypasten" mit mehreren Registern. Man muss bei der Bedienung umdenken lernen, vor dem eigentlichen Tippen erst denken, dann tippen, entweder Kommandos eintippen, die den Text modifizieren oder was auch immer, oder einfach den eigentlichen Text eintippen. Ja... so einfach ist das, erst denken, dann tippen...
Danke, hört sich interessant an.
-
ich bin so schnell mit emacs, das kannste in keinem screencast erfassen
Erwähnenswert vor allem isearch & set-mark-command. Und es hilft im "Flow", die Pfeiltasten nicht benutzen zu müssen.
Dafür geht dann öfter Zeit dabei drauf, Klassen/Funktionen zu suchen. Die C++ "Groß-Projekt" Unterstützung ist eher mangelhaft.
Meistens ist grep/occur aber eh nützlicher als nur zur Definition zu springen.
-
abc.w schrieb:
Man muss bei der Bedienung umdenken lernen, vor dem eigentlichen Tippen erst denken, dann tippen, entweder Kommandos eintippen, die den Text modifizieren oder was auch immer, oder einfach den eigentlichen Text eintippen. Ja... so einfach ist das, erst denken, dann tippen...
Wenn ich vor dem Tippen erst denken muss, dann bin ich aber langsamer, als wenn ich einfach 2-3 Keystrokes mehr für irgendwas brauche, oder mal eben die Finger von der normalen Tippposition wegnehmen und zu den Cursortasten rüberbewegen oder was auch immer ich mir mit "Denken" ersparen würde.
Oder meinst du man muss nur in der Umlernphase denken?
@Dobi:
Du wirst hier wohl kaum Leute finden, die mehr als einen Text-Editor *wirklich gut* beherrschen, und objektiv vergleichen können.
Von wem erhoffst du dir also die von dir erhofften Informationen?
-
Naja, mein Ausgangswunsch war ja der nach speed-edit-poser-videos, um zu sehen, was so im Bereich des Möglichen liegt. Ich hatte nicht gewusst, dass das so einen Aufstand verursacht.
Aber auch so sind ja ein paar gute Infos für mich gepostet worden. Ich wusel mich mal durch Screencasts und schau, ob ich dann Lust bekomme, mich dieses mal ausführlicher mit Emacs oder vi zu beschäftigen als beim letzten Mal.
-
Dobi schrieb:
Also so langsam komm ich mir vor, als nehmt ihr mich auf den Arm.
Ich hab doch geschrieben, dass ich, wenn ich einen Anreiz sehe, das ganze richtig Ausprobieren würde, was ja bedeutet, dass ich die Tools anfassen und bedienen lernen würde, um dann zu entscheiden, ob es was für mich ist.Nein, ganz ehrlich, so läuft das nunmal einfach nicht. Du kannst nicht seriös beurteilen können, ob dir ein Tool liegt, ohne es halbwegs zu kennen. Und um Emacs oder vim besser als extrem oberflächlich kennenzulernen, musst du vergleichsweise viel Zeit investieren.
Wenn dich die Editoren interessieren, probier zumindest einen der beiden mal für ein richtiges Projekt aus. Wenn sie dir zu mühsam sind, benutz weiterhin deine Lieblings-IDEs, du meintest ja selbst, dass du mit denen nicht unglücklich bist.
Naja, mein Ausgangswunsch war ja der nach speed-edit-poser-videos, um zu sehen, was so im Bereich des Möglichen liegt.
Naja, solche Videos werden nunmal häufig von irgendwelchen Kiddies mit Grünschwarz-Terminal produziert. Dementsprechend interessant sind die dann auch.
hustbaer schrieb:
Oder meinst du man muss nur in der Umlernphase denken?
Absolut. Sonst wäre die Benutzung von emacs und vim ja völlig unerträglich.
-
nman schrieb:
Dobi schrieb:
Also so langsam komm ich mir vor, als nehmt ihr mich auf den Arm.
Ich hab doch geschrieben, dass ich, wenn ich einen Anreiz sehe, das ganze richtig Ausprobieren würde, was ja bedeutet, dass ich die Tools anfassen und bedienen lernen würde, um dann zu entscheiden, ob es was für mich ist.Nein, ganz ehrlich, so läuft das nunmal einfach nicht. Du kannst nicht seriös beurteilen können, ob dir ein Tool liegt, ohne es halbwegs zu kennen. Und um Emacs oder vim besser als extrem oberflächlich kennenzulernen, musst du vergleichsweise viel Zeit investieren.
Gute Güte, wie muss ich es denn noch formulieren? Oo (falls du mich nicht wirklich ver*******)
Mir ist vollkommen klar, dass ich mich länger mit den Tools beschäftigen muss (ja, viel Zeit investieren), um sie vernünftig beurteilen zu können.
Bisher hab ich zu beiden nur jeweils ein Tutorial durchgearbeitet und mal einen Tag damit gearbeitet. Dass das nicht reicht, weiß ich, deshalb hatte ich ja nach einem Anreiz gesucht, mich damit ausgiebig (ja, Projekt damit machen etc.) zu beschäftigen.
Aber jetzt wirst du vermutlich wieder schreiben "Nein nein, so geht das nicht. Du musst das Tool erstmal richtig benutzen, um usw.".
Na gut, wir können das Spiel meinetwegen beliebig lange weiterspielen, wenn du Spaß dran hast.
-
Liest du eigentlich auch manche der Sachen, die ich schreibe?
Meine Aussage war, dass Speedposer-Videos dir rein gar nichts über die Produktivität mit einem Editor sagen.
Sowohl Emacs als auch vim brauchen jahrelange Einarbeitungszeit. Wenn man sich also vernünftig eingearbeitet hat und "krasse Geschwindigkeits-Skills" mit einem der beiden Editoren demonstrieren könnte, ist man nunmal keine 14 mehr und findet schwarzgrüne Colorthemes und krasse Speedskills nicht mehr so spannend.
Wenn du das vage Gefühl hast, dass vim und Emacs dich ein bisschen 1337er machen könnten und jetzt Videos suchst, die dich darin bestätigen: Ignorier es einfach. Geht wieder vorbei.
Wenn du Motivation von außen willst, such nach Screencasts zu den oben genannten Themen. Aber vergiss die Geschwindigkeits-Videos. Ohne zu erklären einfach in einem Video bei irgendwas schnell zu sein, ist langweilig. Ist meistens einfach auf das Video zugeschnitten und nicht in den Alltag übertragbar. Von sowas lässt sich doch niemand motivieren.
-
Dobi schrieb:
Aber ich probiers nochmal: Dass man mit dem Tool, das man gut kennt, am schnellsten ist, ist mir vollkommen klar. Es hätte ja aber sein können, dass Leute die mit X sehr viel Übung haben im Schnitt wesentlich schneller sind als Leute, die mit Y sehr viel Übung haben, einfach weil X so und so.
Wenn du es dir so einfach machen willst:
Texteingabe geht bei beiden gleich.
Weitere Befehle gehen bei vi in der Regel schneller (weniger Tastendrücke) als bei "klassischen" Editoren.
Also ist vi besser.Ich bezweifle aber, dass man das auch nur ansatzweise in die Praxis übertragen kann.
-
Poservids:
Vim:
http://www.youtube.com/watch?v=KWotTh_Jn7Y&feature=related
http://www.youtube.com/watch?v=pCiVCiku3cM&feature=related
http://www.youtube.com/watch?v=_galFWwSDt0&feature=related
http://www.youtube.com/watch?v=gmKLs4VppGk&feature=relatedEmacs
http://www.youtube.com/watch?v=EQAd41VAXWo
http://www.youtube.com/watch?v=S76pHIYx3ik&feature=related