Vim oder Emacs
-
Ich meine ja nicht, dass vi(m) schlecht ist, ich kenn's ja auch einfach nicht. Und du hast natürlich recht, bei so ziemlich jeder IDE muss man sich einarbeiten.
Vi(m) mag viele Vorteile haben, kann ich wie gesagt nicht beurteilen, aber in anderen Editoren kann man auch effizient arbeiten und eben auch viel mit der Tastatur machen. Da finde ich es falsch zu sagen, alles andere wäre ineffizient und nur in vi(m) wäre man fix, wobei eben wahrscheinlich nur einige Sachen fixer gehen, die dann aber auch die höhere Einarbeitungszeit rechtfertigen.
Ich persönlich habe weder was gegen "Guru"-Programme wie vi(m) noch gegen Klicki-Bunti-Sachen. Beide haben ihre Stärken und Schwächen, Bildbearbeitung per Konsole ist ebenso unsinnig wie eine Klicki-Anwendung ohne abkürzende Tastenbefehle (und sei es nur TAB zum navigieren in den Feldern).
Dabei müssen beide Anwendungsarten aufpassen, dass sie ihre Schwächen größtmöglichst überdecken können, etwa Einarbeitungszeit bei Guru-Programmen oder Effizienz bei Klicki-Programmen.
Generell denke ich, dass ein Mittelmaß ein guter Kompromiss ist. Das wäre dann wohl eine Anwendung, wo man prinzipiell alles nach einem einfachen Klicki-Bunti-Prinzip erledigen kann oder eben alternativ die meist-gebräuchlisten Dinge per Tastatur hinkriegt.Trotz allem ist es aber natürlich auch eine Sache des persönlichen Bedarfs, wenn ich einmal pro Jahr eine Präsentation ohne Anspruch auf Perfektion produzieren will, werde ich dafür gewiss nicht dutzende LaTeX-Befehle auswendig lernen sondern mir getrost und leicht alles zusammenklicken. Wenn Präsentationen oder wissenschaftliche Texte aber zu meinem Alltag gehören würden, würde ich gewiss den Einarbeitungsaufwand in Kauf nehmen.
vim-fan schrieb:
willst du damit sagen, dass du dir nicht zwei oder mehr verschiedene Bedienführungen merken kannst?
Das tust du doch im täglichen Leben ständig und bei all den verschiedenen Programmen musst du dir doch auch verschiedene Arten der Bedienung merken.Kann ich mir merken, muss ich aber nicht
Gerade weil vi(m) bei Dingen mit ":help" vs "F1" vom quasi-Standard abweicht, muss ich mir mehr merken, als nötig, worauf ich keine Lust habe, gerade weil es auch vermeidbar ist. Also bleibe ich für kurze Texte beim Windows-Editor, der hat für mich das beste Zeit/Leisungs-Verhältnis.
-
Wenn ich Standard-Funktionen erst lernen muß, dann kann ich das nicht gerade als Vorteil ansehen. Sorry. Leistung hin oder her. Wenn ich in ein fremdes Auto einsteige, weiß ich wie ich die Standard-Funktionen zu bedienen habe. Ich will das nicht anders haben, als es bei allen anderen Autos der Welt ist. Schon alleine das coole Lenkrad von Knight Rider bzw. KITT wird sich nie durchsetzen, weil es nicht standard ist. Das kommt in einer TV-Serie cool. Genauso wie Emacs in einem Hacker-Film vielleicht cool kommt. Aber im realen Leben völlig vorbei.
Funktionen in einem Auto, die ich nicht zum Fahren brauche, können meinet wegen anders funktionieren. Wenn ich die nicht finde oder verstehe, macht das erstmal nichts, weil ich trotzdem mit dem Auto erstmal von A nach B komme.
Ich selber habe ja schon Umgewöhnungsprobleme, wenn ich mich in eine Automatik-Auto setze (ist keine Bewertung!). Klar, nach ein paar Minuten habe ich mich umgewöhnt. Aber es ist ätzend die ersten Minuten, weil ich mich unsicher fühle. Weil ganz einfach die Kupplung fehlt und ich jedesmal die Kupplung treten will, obwohl keine da ist (beim ersten Mal habe ich sogar voll auf die Bremse getreten, hat sich mein Hintermann gefreut!). Danach habe ich es auch gerafft, bin ja nicht doof.
Aber ist nervig und habe zum Glück sonst nur meinen Handschalter. Kenne Leute, die fahren immer nur Automatikgetriebe, die haben halt Probs Handschalter zu fahren.
Der Mensch ist ein Gewohnheitstier. Ich will Strg+S drücken um eine Datei zu speichern. Punkt!
Wer Emacs oder Vim gewohnt ist, wird damit besser fahren. So ist das halt.
-
Wo gibts eigentlich dieses legendäre Vim 30min howto? Google verweist auf diesen Thread.
-
Wir reden gerade aneinander vorbei, ich behaupte überhaupt nicht, dass die Klickibunti Editoren ineffizient wären.
Ich habe nur behauptet, dass vim (sehr) effizient ist.
Schon alleine das coole Lenkrad von Knight Rider bzw. KITT wird sich nie durchsetzen, weil es nicht standard ist. Das kommt in einer TV-Serie cool. Genauso wie Emacs in einem Hacker-Film vielleicht cool kommt. Aber im realen Leben völlig vorbei.
Naja ich hab ja selbst gesagt, dass vim nicht für den 0815 gebrauch geeignet ist, zumindest vom heutigen Standpunkt aus.
Aber wenn man damit umgehen kann, so hat man wie bei KITT, etwas sehr mächtiges zur Hand.Wo gibts eigentlich dieses legendäre Vim 30min howto? Google verweist auf diesen Thread.
Das 30min Tutorial kannst du nach deiner vim Installation mit "vimtutor" aufrufen. Unter Windows mit findest du das im vim Menü bzw. mit vimtutor.bat.
-
wiczer schrieb:
nenn mir doch mal ein konkretes beispiel wie ich mit vim schneller arbeiten kann als mit notepad++.
Hab ich vorhin genannt.
"3dd"
Okay, anderes einfaches Beispiel: Suchen und ersetzen. Bis du den Suchendialog geöffnet hast, hab ichs schon ersetzt
(perl-style)
-
Ich verstehe die von euch genannten Vorteile von vim/emacs nicht. Könntet ihr vielleicht mal ein paar von diesen Befehlen beschreiben? Ich meine, 3 Zeilen löschen geht wie gesagt in einer IDE auch sehr fix per Tastatur. Und ich kann mir irgendwie keine sinnvollen Befehle vorstellen, die einem die Arbeit so erleichtern sollen.
Außerdem würde ich gerne noch wissen, ob vim/emacs wirklich nur Editoren sind und wie sie mit IDEs konkurrien können. Ihr wollt mir doch nicht erzählen, dass ihr nur mit einem Editor programmiert, bei dem man auch noch Befehle eintippen muss um 3 Zeilen zu löschen?!
-
vim _fan schrieb:
Wir reden gerade aneinander vorbei, ich behaupte überhaupt nicht, dass die Klickibunti Editoren ineffizient wären.
Ich habe nur behauptet, dass vim (sehr) effizient ist.
Es geht ja darum, dass vim einen Mehrwert haben muss, der den Mehraufwand der Bedienung rechtfertigt.
gfdgdfgdfg schrieb:
Okay, anderes einfaches Beispiel: Suchen und ersetzen. Bis du den Suchendialog geöffnet hast, hab ichs schon ersetzt (perl-style)
Wie lautet denn der Befehl dazu? Ich meine STRG+H Test Tab NeuerText Enter ist schon recht schnell.
-
Hazzel schrieb:
Wie lautet denn der Befehl dazu? Ich meine STRG+H Test Tab NeuerText Enter ist schon recht schnell.
:s/gesucht/ersetzt/g
-
ok, geht mit einem gui-editor also genau so schnell.
irgendwelche vorteile von vim?
-
wiczer schrieb:
ok, geht mit einem gui-editor also genau so schnell.
irgendwelche vorteile von vim?
Selektion. (Selektionskriterium: Vernunft)
-
kurven-freak schrieb:
vim_fan schrieb:
Es wundert mich, dass in einem Programmierforum so viel Widerstand gegen eine anfangs höhere Lernkurve kommt...
hohe lernkurven machen nur dann sinn, wenn sich daraus ein vorteil ergibt. das lernen wie man einen vim oder emacs bedient, ist aber in der heutigen zeit total hinfällig.
Ich wünsche dir viel spass über ssh mit nano oder ed
-
gfdgdfgdfg schrieb:
Okay, anderes einfaches Beispiel: Suchen und ersetzen. Bis du den Suchendialog geöffnet hast, hab ichs schon ersetzt
(perl-style)
Du meinst die gewohnte Tastenkombi Strg+F? Das dauert natürlich länger, als eine andere Tastenkombi in Vim oder emacs?
-
Artchi schrieb:
gfdgdfgdfg schrieb:
Okay, anderes einfaches Beispiel: Suchen und ersetzen. Bis du den Suchendialog geöffnet hast, hab ichs schon ersetzt
(perl-style)
Du meinst die gewohnte Tastenkombi Strg+F? Das dauert natürlich länger, als eine andere Tastenkombi in Vim oder emacs?
richtig.
-
Hazzel schrieb:
Ich verstehe die von euch genannten Vorteile von vim/emacs nicht. Könntet ihr vielleicht mal ein paar von diesen Befehlen beschreiben? Ich meine, 3 Zeilen löschen geht wie gesagt in einer IDE auch sehr fix per Tastatur. Und ich kann mir irgendwie keine sinnvollen Befehle vorstellen, die einem die Arbeit so erleichtern sollen.
Außerdem würde ich gerne noch wissen, ob vim/emacs wirklich nur Editoren sind und wie sie mit IDEs konkurrien können. Ihr wollt mir doch nicht erzählen, dass ihr nur mit einem Editor programmiert, bei dem man auch noch Befehle eintippen muss um 3 Zeilen zu löschen?!Das löschen von drei Zeilen ist ein ziemlich gutes Beispiel, viel andere wie ein ganzes Wort löschen mehrere ganze Wörte löschen, x Wörter überspringen, x Zeilen überspring, sind andere ganz praktische Befehle. Du kannst natürlich auch einfach mit der Maus den Cursor verschieben, aber dafür musst du die Tastatur verlassen und das kannst du übrigens auch in vim.
Den Cursor verschiebt man mit hjkl (alternativ gehen auch die Pfeiltasten), das ist unheimlich praktisch wenn man es ersteinmal gewohnt ist, da man die Finger die ganze Zeit bei den Tasten lassen kann, ohne die Hände immer hin und her bewegen zu müssen.Wenn man zuvor search highlight und incremental search gesetzt hat, dann kann man mit einem einfachen
/meinesuche<ENTER>
sich alle Vorkommen des Wortes im Dokument farbig hervorheben lassen
und mit
/meinMuster/meineErsetzung/g<ENTER>
kann man global ersetzen (perl style wie oben schon angemerkt)
Mit % kann man von einer Klammer zur zugehörigen Klammer springen.Syntaxhighlighting kann man per Syntax-Datei nach belieben konfigurieren (oder man greift auf was fertiges zurück) und Skripting gibts natürlich auch.
mit STRG+U kann man sämtliche Änderungen auf einer Zeile rückgängig machen
mit dd löscht man eine ganze Zeile
mit J (großes J) kann man das Newline entfernen und zwei Zeilen verbinden
nach einem dd kann man mit einem einfachen p die eben gelöscht Zeile unterhalb der aktuellen Zeile einfügen und mit P oberhalb
mit o wird eine Zeile unterhalb der aktuellen eingefügt, mit O oberhalb
mit A wird an das Ende der aktuellen Zeile angehängt
mit a nach dem Cursor
mit i vor dem Cursor
mit R ersetzt man beim Schreiben
mit G kommt man ans Dateiende
mit gg an den Dateianfanggibt noch viele mehr, die Effizienz hängt halt maßgeblich davon ab wieviele man beherrscht, damit man immer den effizientesten wählt.
Imho gibt die Liste auch nicht die Tatsache wieder, dass es schnell(er) ist, dazu muss man schon selbst mal hand angelegt haben oder jemandem über die Schulter gesehen haben.
-
Wie gesagt, nur ein Idiot denkt, dass irgendwelche Mikroschritte wie :wq!wtf oder 2 Klicks irgendwie die Effizienz ändern.
Es ist Fakt, dass prof. Entwickler die meiste Zeit überlegen und das eigentliche Schreiben einen Bruchteil ausmacht.
Eine Effizientsteigerung innerhalb eines Tools erreicht man nur durch gute (keine Modes!), konsistente und intuitive (das wichtigste muss OHNE Tutorial klar sein!) Bedienung und High Level Hilfen wie Refactoring, Debugger, Templates usw.
-
Ok, wie es aussieht hat man mit vim nach einer längeren Lern- und Übungsphase einige mehr oder weniger große Vorteile beim Eingeben von Text.
Aber wie sieht es mit anderen Funktionen einer IDE aus? Wie debuggt man im Textmodus? Wie wechselt man innerhalb eines Projekts zwischen den Dateien?Du redest offenbar von vim. Ich nehme mal an, bei emacs verhält es sich ähnlich?
-
mal ne Frage an die GUI-fans:
wer von euch hat denn schon mal Emacs intensiv
(damit meine ich: fuer Texte und Quellcodes im Megabyte-Bereich
ueber Monate hinweg)
benutzt und beherrscht Zehnfingersystem *mit* Sonderzeichen und minimum 120 Anschlaege pro Minute, um Emacs adaequat benutzen zu koennen?Ohne diese Voraussetzungen ist eine Diskussion ueber die Vorteile von Emacs
als Editor naemlich recht theoretisch, da sich die Gesamtheit der
Effizienzvorteile des Emacs Benutzerinterface vermutlich nicht mit 2-Finger-Suchsystem plus 120 gpm
(Griffe zur Maus pro Minute) erzielen lassen.
-
vim_fan schrieb:
Wenn man zuvor search highlight und incremental search gesetzt hat, dann kann man mit einem einfachen
/meinesuche<ENTER>
sich alle Vorkommen des Wortes im Dokument farbig hervorheben lassen
und mit
/meinMuster/meineErsetzung/g<ENTER>Das ist praktisch und haette auch gern in meinem Lieblingseditor (Kate). Aber der Rest ist einfach nur *****.
X Zeilen Uberpringen: Du merkst dir etwa immer in welcher Zeile du bist?
mit STRG+U kann man sämtliche Änderungen auf einer Zeile rückgängig machen
Alt+Zmit dd löscht man eine ganze Zeile
Shift+Pfeiltaste und Entfmit J (großes J) kann man das Newline entfernen und zwei Zeilen verbinden
Endline + Entfnach einem dd kann man mit einem einfachen p die eben gelöscht Zeile unterhalb der aktuellen Zeile einfügen und mit P oberhalb
Markieren, Str+C, mit Pfeiltasten zu Position, Str+Vmit o wird eine Zeile unterhalb der aktuellen eingefügt, mit O oberhalb
Wozu, kann man einfach duch Pfeiltaste, dann Entermit A wird an das Ende der aktuellen Zeile angehängt
Endline + Str+Vmit a nach dem Cursor
mit i vor dem Cursor
Oh super man spart sich ein Tastenschlagmit R ersetzt man beim Schreiben
Alt+R oder Alt+Hmit G kommt man ans Dateiende
Alt+Endemit gg an den Dateianfang
Alt+Pos1Sorry, aber bis auf die Markierung des Suchwortes habe ich keinen Vorteil von vim enddeckt. Wozu diese Modes sind ist mir auch ein Raetsel. Wieso kann man nicht im Insert-Modus bleiben und solche Sachen wie Speichern oder Suchen auch benutzen? Wieso muss man staendig die Modes wechseln? Wurde VI entwieckelt, als es keine Alt oder Ctrl Tasten gab?
Aber eigentlich ist es mir egal. Ich bauche VI nur, wenn ich die sudoers veraendern muss. Da ist bei visudo der Standardeditor der VI. Ansonsten benutze ich Nano.
Uebrigens hier ist ein Tut. fuer vi:
http://www.eng.hawaii.edu/Tutor/vi.html
-
Also viele der genannten "Vorteile" habe ich auch in Notepad++. Und dabei ist Notepad++ einfach nur ein Editor den ich mir mal damal so ausgesucht habe, weil ich nur was besseres wollte als Notepad. Und komischerweise bietet es trotzdem sehr viel.
Syntax-Highlightning führst du als Feature an. Hat notepad++ auch und zwar per Scripts konfigurierbar. Enthalten sind schon alle möglichen Konfigs für viele Sprachen. Also hat Vim bzgl. dieses Features nichts weltbewegendes zu bieten. Vielleicht im Detail, das kann ich nicht beurteilen.
mit G kommt man ans Dateiende
mit gg an den DateianfangIch komme mir ehrlich gesagt verarscht vor.
Im ernst. Das sind doch Dinge, die bringt das Win32-Textfield-Control von Haus aus mit. Das muß man unter Windows nicht mal Programmieren. Strg+Pos1 und Strg+Ende. Warum führst du das als Feature auf?
Die anderen Features kenne ich nicht. Kenne ehrlich gesagt Notepad++ nicht bis ins Detail, weil ich den nur für Nicht-Programmier-Dateien brauche bzw. hauptsächlich als Viewer, weil Notepad nicht mal Unix-Dateien anzeigen kann.
Im Prinzip sind das doch nur andere Tastenkombinationen oder Tastenkürzel.
-
Modes sind die beste Erfindung seit flüssig Wasser.