Vim oder Emacs
-
Nur ein totaler Laie denkt, dass man schneller entwickelt oder schreibt, nur weil man komplett mit Tastatur arbeitet.
Im Grunde weiß ja auch jeder, dass sachlich gesehen nichts für Steinzeit Tools wie vi oder Emacs spricht. Solche Tools zu benutzen ist eher eine ideologische Aussage und soll eine gewisse pseudoelitäre 1337 Haltung unterstreichen.
-
Eure Einarbeitungszeit-Kritiken sind schwachsinn, denn bei einer IDE braucht man ebenfalls eine gewisse Einarbeitungszeit um mit ihr _effizient_ arbeiten zu können.
Bei vim kann man halt nur effizient arbeiten und das kann man bereits nach dem Lesen des 30min Interaktiv-Tutorials.
Oder indem man kurz googelt und sich die fünf wichtigsten Befehle raussucht:
:q! verlässt ohne speichern
:wq verlässt mit speichern
i wechselt in Schreibmodus
ESC wechselt in den Command-Modus (zurück)
:help ruft das Hilfemenü aufAchja statt vim auf der Konsole zu starten kann man auch einfach gvim starten und siehe da plötzlich hat man einen Editor der schon fast so aussieht wie jeder andere.
-
wie-ay schrieb:
atomfish schrieb:
ein vi(m) läuft beispielsweise auch noch auf einem system mit recht begrenzten
ressourcen irgendwo im embedded bereich, wo du emacs oder irgendein IDE tool vergessen kannst, wenn du nur 16MB RAM und 200 Mhz hast . . .16mb/200mhz sind im embedded bereich schon grossrechner. vi ist eher gedacht für schäbigste terminals mit wenig tasten und so...
kommt immer auf die perspektive an... für klicki-IDE-Visual Studio coder sind 200 Mhz und 16MB wohl kaum vorstellbar
aber man enwickelt ja auch nicht auf nem embedded device. der VI ist hier in der regel nur dazu da mal paar config files zu editieren.
-
vim_fan schrieb:
...
Die Klicki-Buntis haben halt den Vorteil, dass vieles (pseudo-)standardisiert ist, z.B. F1 um die Hilfe aufzurufen, Strg+S zum speichern, Alt+F4 zum Beenden usw. Da braucht man keine Einarbeitungs- und/oder Umgewöhnungsphase, man ist eben sofort "drin". Ich weiß nicht, was vi(m) so alles kann, aber einige der Befehle, wie deine aufgelisteten, erleichtern nix wenn sie standard-fremd sind.
-
so ist es.
-
Badestrand schrieb:
vim_fan schrieb:
...
Die Klicki-Buntis haben halt den Vorteil, dass vieles (pseudo-)standardisiert ist, z.B. F1 um die Hilfe aufzurufen, Strg+S zum speichern, Alt+F4 zum Beenden usw. Da braucht man keine Einarbeitungs- und/oder Umgewöhnungsphase, man ist eben sofort "drin". Ich weiß nicht, was vi(m) so alles kann, aber einige der Befehle, wie deine aufgelisteten, erleichtern nix wenn sie standard-fremd sind.
Was du ansprichst ist aber nur das bearbeiten von Dateien an für sich. Eine IDE macht aber noch vieles mehr aus als nur das eingeben von Text.
Klar die GUIs sind auch einigermaßen standardisiert, aber bei den Einstellungen für die Projekte, das Aussehen der IDE, etc. unterscheiden sie sich dann doch und dann bei den fortgeschritteneren Funktionen dann auf jeden Fall und man kommt auch hier nicht um das Einarbeiten herum.Bei vim muss man auf jeden Fall ersteinmal lernen wie man damit arbeitet, da stimme ich dir zu.
Aber nur weil die Bedienung anders ist als bei 99% der anderen Texteditoren muss das nicht heißen, dass die Bedienung schlechter ist und das ist sie nämlich nicht.Es wundert mich, dass in einem Programmierforum so viel Widerstand gegen eine anfangs höhere Lernkurve kommt, und das auch noch in einem C++-Forum und vllt. sogar von Leuten die Latex über die Klikibunti-Office-Pakete stellen (hab ich jetzt nicht nachgeprüft, deswegen steht da auch vielleicht!).
-
Badestrand schrieb:
vim_fan schrieb:
...
[...]Ich weiß nicht, was vi(m) so alles kann, aber einige der Befehle, wie deine aufgelisteten, erleichtern nix wenn sie standard-fremd sind.
Das habe ich vorhin falsch gelesen, deswegen noch ein Nachtrag:
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.
Warum denn nicht auch bei einem Texteditor? Das ist ja jetzt kein Texteditor der absolut Mainstream ist und du unabdingbar auf diesen angewiesen bist und völlig aufgeschmissen wärst, wenn du ihn nicht bedienen kannst.
Du kannst ja jederzeit auf einen standardiesierten 0815 Editor zurückwechseln bis du mit diesem umgehen kannst.
-
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.
-
warum sollte ich einen veralteten, schlecht bedienbaren editor nehmen, wenn ich einen editor benutzen kann, der sich an bestehende standards hält (siehe F1, STRG+C, STRG+X, STRG+V, usw)?
nenn mir doch mal ein konkretes beispiel wie ich mit vim schneller arbeiten kann als mit notepad++.
-
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