[gelöst] Arbeitseffizienz mit verschiedenen Texteditoren - normal vs. vi vs. Emacs
-
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)
- DebuggingAlso 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
-
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.
-
Ich benutze zwar Notepad++ und MSVC für C++, bewundere aber emacs-Gurus.
Ich habe selbst mal eine ganze Weile mit emacs gearbeitet, aber nie die Zeit genommen, mich in emacs richtig einzuarbeiten. Klar, einige der grundlegenden Fingerknotenshortcuts saßen dann auch irgendwann, aber ich behaupte, dass man einiges an Zeit investieren muss, um sich wirklich einzuarbeiten und die Features auch zu nutzen, die emacs bietet. Mit ein paar Tagen ist das nicth getan, ich denke mal, dass man monatelang immer wieder mal einige Minuten investieren muss, um sich shortcuts für irgendwelche mehr oder weniger häufig vorkommenden komplexen Aufgaben rauszusuchen und einzuüben. Wenn ich jedesmal nachgucken muss, dass die Aktion, für die ich sonst mit der Maus 10 Klicks und einige Wiederholungen irgendeines Kürzels gebraucht habe, auch mit 2 5-tasten-Kürzeln zu erledigen ist, dann frisst das Nachschlagen mir den Zeitgewinn wieder auf...
Wenn man dann noch Ahnung von Lisp hat und sich häufige Aufgaben in irgendwelche Scripte dengeln kann, wird Emacs erst richtig mächtig.
Mein einziges Problem: diese extrem hohe Lernschwelle. Ich möchte können, nicht erst lange lernen
-
-
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.