it-swarm-eu.dev

Was ist der beste Weg, sich dazu zu zwingen, vi zu meistern?

Vor einiger Zeit las ich einen Artikel des Schöpfers von viem , um viele Missverständnisse über vi auszuräumen und zu erklären, warum es eine gute Idee ist (und warum es für die sehr beliebt ist) letzten 30 Jahre +). Der gleiche Typ hat auch eine große Anzahl von grafischen Spickzettel , die die Grundlagen ein paar Bits auf einmal lehren.

Ich bin überzeugt.

Ich bin in der Tat seit 2 Jahren überzeugt. Aber ich bin immer noch nicht dazu gekommen, mich zu zwingen, vi als meinen Haupteditor zu lernen, die Lernkurve ist einfach zu hoch. Wenn ich mich an die Arbeit mache, hat die akzeptable, aber sofortige Produktivität (mit meinem aktuellen Editor) bis jetzt die enorme Produktivität auf der ganzen Linie (mit vi) überzeugt.

Hat jemand gute Tipps, um die Lernkurve zu überwinden? Es kann sich um einfache Tipps, ein anderes Tutorial oder einen Artikel handeln.

Bearbeiten: Beachten Sie, dass ich die vim/gVim , Cream und MacVim (etc.) Varianten von vi kenne. Ich habe meine Frage zu vi beibehalten, um mich auf die vi-Familie als Ganzes zu beziehen. Vielen Dank für die tollen Antworten.

Update (April 2009)

Ich benutze Vim (genauer gesagt MacVim) seit letztem Dezember in meinem täglichen Berufsleben. Ich gehe nicht zurück :-)

Viel Glück für alle in ihrer Vim-Meisterschaft.

202
webmat

Zunächst möchten Sie vielleicht Vim abholen. Es hat ein weit überlegenes Feature-Set zusammen mit allem, was vi hat.

Das heißt, es braucht Disziplin, um zu lernen. Wenn Sie einen Job haben und sich den Produktivitätsverlust nicht leisten können (ohne entlassen zu werden), würde ich vorschlagen, ein Wochenendprojekt zu übernehmen, um nur den Editor zu lernen. Halten Sie die Dokumentation offen, während Sie arbeiten, und seien Sie diszipliniert genug, um sich nicht aus dem Staub zu machen. Wenn Sie mehr lernen, effizient werden und sich auf das Muskelgedächtnis verlassen, wird es nicht mehr so ​​schwer, daran festzuhalten.

Ich benutze Vim so lange, dass ich nicht einmal darüber nachdenke, welche Tasten ich zum Suchen, Navigieren oder Speichern drücken soll. Und meine Hände verlassen niemals die Tastatur. Die Verwendung von Vim ist eine der besten Entscheidungen, die ich in meiner Programmierkarriere getroffen habe.

124
Lucas Oman

Als erstes lege ich ein Blatt Papier oder ein Buch über die Pfeiltasten und die Tasten ins/home/end/pgup/down. Diese werden in Vi nicht benötigt.

Als nächstes habe ich mich daran gewöhnt, Strg + [zu drücken, wenn Sie aufgefordert werden, die Fluchttaste zu drücken. Es ist viel schneller und Sie müssen Ihre Hände nicht von der Tastatur nehmen.

Dann würde ich mir meine Screencasts ansehen:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

Dann üben Sie einfach üben üben.

edit Der Grund für das Vermeiden der Pfeiltasten ist, dass sie Sie verlangsamen. Einer der größten Vorteile von Vim ist die Geschwindigkeit, die es Ihnen ermöglicht. Die Pfeiltasten hindern Sie auch daran, die Modalität, die beim Beherrschen sehr mächtig ist, wirklich anzunehmen.

64
Aaron Jensen

Schritt 0: Tippen lernen. Im Ernst - wenn Ihre Finger nicht wissen, wo sich die Schlüssel befinden, wird vim ein Schmerz sein. Und selbst wenn Sie vim ablehnen, können Sie durch Berühren von Verbessern der Programmierung (Fragen Sie Steve Yegge ) die Verbindungsreibung überwachen. Es gibt eine Menge von Software , die Ihnen helfen kann, Ihre Eingabe zu verbessern.

Schritt 1: Verwenden Sie vimtutor , um loszulegen. Es ist in gvim (unter dem Hilfemenü, denke ich) oder Sie können einfach 'vimtutor' in der Befehlszeile eingeben. Es dauert 30-45 Minuten und Ihre Finger werden die Grundlagen von vi/vim kennen und Sie sollten in der Lage sein, Dateien zu bearbeiten, ohne Ihre Tastatur aus dem Fenster werfen zu müssen.

Schritt 2: benutze vim überall. In diese Frage finden Sie Tipps und Links zur Verwendung der vim- und vi-Tastenkombinationen in der Befehlszeile Ihres Webbrowsers und zum Verfassen von E-Mails in Ihrem IDE ... Sie müssen vim verwenden, um die Schlüsselbindungen in Ihr Muskelgedächtnis einzubetten.

Schritt 3: Erfahren Sie mehr über vim. Sie haben nur die Oberfläche mit vimtutor zerkratzt. Sie können dieses Video ansehen oder diesen Artikel lesen (beide über die "Sieben Gewohnheiten der effektiven Textbearbeitung". Sie können lesen über tips und tricks on StackOverflow . Sie können vimtips stöbern. Oft ein bisschen lernen, wäre mein Rat - es gibt so viel zu tun Dort ist das Festhalten an mundgerechten Stücken der beste Weg, das Wissen festzuhalten.

Schritt 4: Gewinn :)

37
Hamish Downer

Ich war im Laufe der Jahre immer wieder und immer wieder ein Benutzer von vim (mache gelegentlich den Sys-Admin-Job). Ich habe gerade erst angefangen, mehr Zeit damit zu verbringen, meine Programmierarbeit darin zu verrichten. Ich würde vorschlagen, auch mit gvim zu beginnen. Es lässt sich gut in die meisten Betriebssystemumgebungen integrieren, und (noch besser) Sie können bei Bedarf auf die Maus zurückgreifen :).

Um mit vim loszulegen, führen Sie den vimtutor durch (mit gVim gebündelt) ein- oder zweimal (dauert ungefähr eine Stunde). Ich kann nicht übertreiben, wie hilfreich es für mich war! Insbesondere die ersten Teile über die verschiedenen Möglichkeiten, sich in einem Dokument zu bewegen, und wie Bearbeitungsaktionen mit Bewegungsbefehlen usw. aufgezeichnet werden. Danach werden die Dinge VIEL klarer.

Beginnen Sie dann mit schnellen, geringfügigen Bearbeitungen (Notepad-Ersatzmaterial), bis Sie es sich bequem machen, nützliche Bearbeitungen an einem schnellen Clip vorzunehmen. Versuchen Sie dann, Ihre tägliche Arbeit darin zu erledigen. Sie werden feststellen, dass Sie in kürzester Zeit nach dem Befehl "Letzte Aktion wiederholen" in anderen Editoren suchen!

26
Brian

Sie haben um gute Tipps gebeten, um die Lernkurve im vi-Texteditor zu überwinden. Viele der vorherigen Antworten deuten darauf hin, dass Sie keine anderen Editoren verwenden. Ich denke das ist ein guter Rat. Der Wechsel von einem grafischeren Editor zu vi erfordert eine Änderung der Denkweise. Es erfordert das Denken in Befehlen und nicht in visuellen Veränderungen.

Ich habe viele Jahre lang nur vi verwendet und glaube, dass Sie nur produktiv sein können, wenn Sie sich die Befehle merken, die Sie regelmäßig verwenden. Die Art und Weise, wie ich dies tat, bestand darin, eine kurze Liste der gebräuchlichsten Tastaturbefehle zu erstellen. Ich habe diese Befehle nach Funktionen gruppiert und farbcodiert, dh Verschieben des Cursors, Bearbeiten, Suchen usw. Ich habe darauf geachtet, nur die am häufigsten verwendeten einzuschließen Befehle, die ich nicht kannte. Die Idee ist, eine Kurzreferenz zu erstellen, die auch beim Auswendiglernen hilfreich ist - und nicht die verfügbaren Hilfebildschirme zu ersetzen. Dann druckte ich diese Liste aus und klebte sie an die Wand hinter meinem Monitor, damit ich sie leicht sehen konnte. (Die von Ihnen erwähnten grafischen Spickzettel funktionieren für einige möglicherweise besser, sind jedoch wahrscheinlich eine bessere Referenzquelle als ein Memorization Tool.)

Hier ist der Schlüssel. Als ich mit einem der Befehle vertraut wurde, zog ich mit einem Bleistift eine Linie durch den Befehl. Ich konnte es immer noch sehen, wenn ich es brauchte, aber es war für mich symbolisch, dass ich diesen Befehl gemeistert hatte. Das gab mir Selbstvertrauen und Motivation, da ich regelmäßige Fortschritte sehen konnte. Nachdem ich die meisten von ihnen durchgestrichen hatte, entfernte ich sie und fügte einige der seltener verwendeten Befehle hinzu. Ich setzte diesen Prozess fort, bis ich mit meinem Kommando über vi zufrieden war. Ich wusste, dass ich an diesem Punkt angelangt war, als mir klar wurde, dass ich seit langer Zeit keine Befehle mehr durchgestrichen oder die Liste angesehen hatte.

Vor ein paar Jahren musste ich auf einer UNIX-Plattform arbeiten, auf der vi der einzige verfügbare Editor war. Ich habe ein kleines Taschenbuch über vi gekauft, es aber kaum benutzt. Am Ende habe ich Listen erstellt und sie an die Wand gestellt, so wie ich es getan habe, als ich vi zum ersten Mal verwendete. Am Ende der ersten Woche fühlte ich mich sehr wohl, obwohl ich vi vor fünf Jahren benutzt hatte.

19
TMarshall

Sie sollten mit vim (Vi IMproved) und insbesondere dessen GUI beginnen - gVim . Die GUI verfügt über Menüs und unter Windows können Sie die Verknüpfungen zum Kopieren, Ausschneiden und Einfügen verwenden, sodass Sie Notepad sofort ersetzen können. Und da in den Menüs die Verknüpfungen (VIM-Befehle) angezeigt werden, können Sie viel lernen.

Eine andere Sache, die Sie von Anfang an tun sollten, ist vi für Ihre Bedürfnisse zu konfigurieren. Zum Beispiel können Sie vim in eine Python IDE umwandeln. Auf diese Weise haben Sie keine Entschuldigung für die Verwendung eines anderen Editors, da vi Ihnen alles bietet, was Sie benötigen.

11

Für mich ist VI ein guter Notfalleditor, aber nichts, was ich verwenden möchte, wenn es eine andere Alternative gibt. Mir ist klar, dass dies nicht jedermanns Sache ist. Ich sage nicht, dass es schrecklich oder so ist. Ich persönlich bevorzuge eine auffindbare Benutzeroberfläche.

Aber Sie müssen VI wirklich kennen, wenn Sie in Linux etwas Bedeutendes tun!

Lernen Sie einfach die Grundlagen: i = Einfügemodus esc = Einfügemodus verlassen: wq = Speichern und beenden: q! = Nicht speichern und beenden x = Wenn Sie sich nicht im Einfügemodus befinden, löschen Sie das Zeichen./= suchen

Das wird Sie durch jeden Bearbeitungsnotfall bringen. Mit diesen wenigen Befehlen (und der Navigation natürlich) können Sie nichts anfangen. Den Rest können Sie nach Bedarf "anheften".

Halten Sie eine Referenz oder ein Buch bereit - wenn Sie VI verwenden MÜSSEN, können Sie wahrscheinlich nicht im Internet surfen -, aber die Manpage ist möglicherweise hilfreich.

11
Bill K

zwinge dich nicht. Der Weg zur Meisterschaft der Liebe ist.

11
jbarciela

löschen Sie alle anderen Texteditor-Apps.

Dann musst du es lernen.

10
Bob Dizzle

Der einfachste Weg, force sich selbst zu machen, besteht möglicherweise darin, alle anderen Editoren von Ihrem Computer zu entfernen. Werde die Versuchung los :)

9
Dana

Fragen Sie sich bei jeder komplexen Bearbeitungsaufgabe, ob es eine effizientere Möglichkeit gibt. In den meisten Fällen können Sie dies mit einfachen Worten beschreiben (z. B. "Textabschnitte vertauschen" oder "Alles nach dem X-Zeichen in kommentierten Zeilen löschen").

Es gibt einige Schlüsselfunktionen, die äußerst nützlich sind, und Sie werden sie die ganze Zeit nicht mehr verwenden. Die, die ich am meisten liebe, sind:

  • Blockauswahl (Strg-V)
  • Makroaufnahme (q)
  • Virtuelle Bearbeitung (: setze ve = all)
  • Reguläre Ausdrücke
  • Weiterleitung an externe Unix-Programme
  • Tastenzuordnungen
  • Autovervollständigung (C-p, C-x C-p, C-x C-f)
  • Die Kombination aus Bedienung und Bewegung (das ist erstaunlich mächtig)

Fragen Sie andere Programmierer, welche Funktionen für sie am nützlichsten sind, und übernehmen Sie die Funktionen, die besser zu Ihrem Gehirn passen. Stehlen Sie Ideen von .vimrc S anderer Leute ( hier ist meins )

9

BEARBEITEN: Ich habe erstellt eine Karteikarte auf der Website flashcarddb.com , falls Sie interessiert sind ...

  1. Verwenden Sie ein Flash-Kartenprogramm mit Wiederholungsintervallen wie mnemosyne , supermemo oder anki , um zu lernen und neue Befehle in Ihren Tagesablauf aufzunehmen. Es reicht nicht aus, vim als täglichen Editor zu verwenden. Um dies zu meistern, müssen Sie diese Codes in Ihrem Kopf speichern und auf die Zeit warten, in der sie die ideale Lösung für die jeweilige Aufgabe darstellen.
  2. Verwalten Sie eine .vimrc mit Anpassungen
  3. Schreiben oder bearbeiten Sie ein VIM-Plugin
8
P. Myer Nore

Ich habe vor einiger Zeit eine Anleitung zu effizientes Bearbeiten mit Vim geschrieben. Vielleicht finden Sie es hilfreich.

Ich würde für eine Minute zurücktreten und mich fragen: "Warum möchte ich diesen Editor lernen? Was lässt mich glauben, dass er schneller oder besser ist als mein aktueller Texteditor?" Lernen Sie dann die Funktionen kennen, die Vi (m) für Sie unverzichtbar machen.

Zum Beispiel ist die CTags-Integration von Vim für mich absolut unverzichtbar. Ich arbeite mit einer sehr, sehr großen Codebasis, und die Fähigkeit, mit einem Tastendruck (unabhängig davon, in welcher Datei sie sich befindet) zu einer Funktion oder Klassendefinition zu springen, ist eine absolut umwerfende Funktion, ohne die ich Probleme habe.

Verwenden Sie Ihre .vimrc-Datei, um Makros zu erstellen, die allgemeine Aufgaben automatisieren.

Ihr Autopilot-Editor wählt den Editor aus, mit dem die Aufgabe am schnellsten und mit dem geringsten mentalen Aufwand erledigt werden kann. Eine kleine Vorarbeit wird sicherstellen, dass der Editor Vim ist. :-)

8
Jonathan

Zwei Dinge, die Ihre vi-Fähigkeiten erheblich verbessern:

  1. Üben, üben, üben
  2. Nethack
6
Mark Witczak

Mein Vorschlag: klein anfangen. Fangen Sie einfach an, indem Sie sich einen kleinen Satz der nützlichsten Befehle merken. Als ich mit vi anfing, waren dies meine Top 10:

  • (Esc), um zum Befehlsmodus zurückzukehren (am wichtigsten!)
  • a, um Text nach dem Cursor einzufügen
  • A, um Text am Ende der aktuellen Zeile einzufügen
  • x, um 1 Zeichen zu löschen
  • dd um 1 Zeile zu löschen
  • R zum Ersetzen von Text (Überschreiben)
  • sie rückgängig zu machen
  • : q! (Enter) zum Verlassen ohne zu speichern
  • : w (Eingabetaste) zum Speichern
  • ZZ speichern und beenden

Viele grundlegende Bearbeitungsschritte können nur mit diesen Befehlen ausgeführt werden. Sobald Sie es sich bequem gemacht haben, sieht der Rest nicht allzu schwierig aus.

Übrigens möchte ich hinzufügen, dass ich mich für meinen primären Texteditor auf vi verlassen habe, aber jetzt nur, wenn ich muss. In meinem Fall ist die Produktivität besser, wenn ich Tools wie Emacs oder Visual Studio verwende (bitte beachten Sie: "in meinem Fall"). Probieren Sie mehr als ein Werkzeug aus und wählen Sie das, das Ihrer Produktivität am meisten hilft. Viel Glück!

6
Paulus

Es klingt albern, aber das Spielen von roguelike Spielen (wie Nethack oder Angband ) ist eine unterhaltsame Möglichkeit, sich mit der Verwendung von h/j/k/l Tasten für die Cursornavigation.

5
bk1e

Notieren Sie sich alle Verknüpfungen und Funktionen, die Sie in Ihrem aktuellen Editor verwenden, während Sie ihn bei der Arbeit verwenden. Setzen Sie sich dann am Samstagmorgen hin und nutzen Sie Google und Stack Overflow, um herauszufinden, wie Sie die einzelnen Funktionen in vi ausführen können. Wahrscheinlich am besten, wenn Sie dafür ein Blatt (oder mehrere Blätter) Papier verwenden.

Deaktivieren/löschen Sie jetzt die anderen Editoren bei der Arbeit, sodass Sie länger brauchen, um sie zu finden und erneut zu installieren, als auf Ihrem Vergleichsblatt nachzuschauen und es in vi zu tun - d. H. Sie haben keine andere Wahl.

Zuletzt veröffentlichen Sie Ihre Liste der Crossover-Verknüpfungen von Ihrem alten Editor zu Ihrem neuen in Ihrem Blog.

Viel Glück!

4
Guy

Verwenden Sie nicht X11?

$ sudu rm /usr/local/bin/emacs

Ändern Sie Ihre Login-Shell in vi?

Zuerst zwingen Sie sich, ed, dann vi zu verwenden, wird wie ein Luxus scheinen?

Verwenden Sie die Tastenkombination vi in bash?

Beginnen Sie einfach mit vi die ganze Zeit?

Es scheint mir, dass das Erlernen eines Editors sich nicht wesentlich vom Erlernen einer Sprache unterscheidet. Das Eintauchen funktioniert am besten.

Ich verwende vi für wirklich schnelle Bearbeitungen oder wenn ich X11 aus irgendeinem Grund nicht verwenden kann, aber ich lebe in emacs. Wirklich leistungsstarke Editoren sind es wert, sich die Zeit zum Lernen zu nehmen.

4
Jon Ericson

Der Hauptgrund für die Verwendung von vi ist ssh (oder PuTTY unter Windows): Wenn Sie remote bei einem Unix-Server angemeldet sind, ist vi immer verfügbar. Und es funktioniert mit VT100, wenn weder die Cursortasten noch die Rücktaste/das Löschen zugeordnet sind.

Auch ein Buch wie VI Editor Pocket Reference hilft sehr.

3
Aaron Digulla

Ich erinnere mich, als ich anfing, Emacs zu lernen, war es, nachdem ich mich mit Vim sehr wohl gefühlt hatte und ich in dem gleichen oder einem ähnlichen Boot war wie Sie, wo ich wusste, wie ich in einem anderen Editor viel zu tun hatte, als ich anfing mit emacs war es immer schmerzhaft langsam.

Ich denke jedoch, Sie müssen nur ein wenig Schmerz absorbieren und immer, immer, IMMER sicherstellen, dass Sie die Dokumentation nachschlagen, um etwas zu tun, was Sie wissen können Machen Sie dies in Ihrem vorherigen Editor, z. B. indem Sie zum Ende einer Zeile gehen oder einen Textbereich auswählen.

Es ist auch hilfreich, wenn Sie einen lokalen vi-Experten zur Hand haben, der Ihnen Fragen stellt, oder wenn Sie wie unser Unternehmen sind, fördern Sie die Paarprogrammierung. Wenn Sie versuchen, etwas zu tun, das einfach sein sollte, können Sie einfach jemanden fragen, der Ihnen zeigt, wie es geht, und wenn Sie den Editor einige Wochen lang regelmäßig verwenden, sollten Sie nicht mehr fragen müssen dann ein paar mal, bevor es zur zweiten natur wird.

Wenn Sie nicht über lokale Ressourcen verfügen, sind zahlreiche Bücher/Tutorials/Referenzblätter online verfügbar, mit denen Sie die meisten Ihrer Fragen beantworten können.

Letztendlich ist das Erlernen von Vi wie das Erlernen anderer Fertigkeiten, es gibt kein Patentrezept, und Sie müssen akzeptieren, dass Sie eine Weile weniger produktiv sein werden als Ihr derzeitiger Redakteur. Sag dir einfach immer wieder: "Andere konnten Vi lernen, und ich bin mindestens so schlau wie sie." (Das sage ich mir sowieso :))

3
ben.prew

Meine Empfehlung ist es, einige einfache Programme zu entwickeln und diese mit VI zu schreiben.

Wahrscheinlich sind Sie zu frustriert über die Lernkurve, als dass Sie gezwungen wären, sie bei der Arbeit oder in einer zeitkritischen Umgebung einzusetzen.

Ich habe dies bereits getan, um mich mit Umgebungen/Editoren vertraut zu machen, und es funktioniert ziemlich gut.

Wenn Sie Probleme haben, etwas zu schreiben, empfehle ich Ihnen, Projekte, die Sie in der Schule gemacht haben (oder alles andere, was Sie zuvor gemacht haben), noch einmal zu wiederholen. Diese Methode hat den zusätzlichen Vorteil, dass Sie sehen können, wie viel Sie zu einem besseren Entwickler geworden sind. :)

Bearbeiten: vergessen zu erwähnen, dass Sie dies vollständig von der Konsole aus tun sollten, um die Versuchung zu vermeiden, die Maus zu verwenden!

3
TM.

gVIM hat ein wirklich gutes Tutorial (Link in der Startmenügruppe).

Ich fand, dass das Durcharbeiten dazu beigetragen hat, den anfänglichen Lernhügel zu überwinden. Durch den Wechsel von Visual Studio zu ViEMU konnte ich meine VI-Kenntnisse verbessern.

Auch die Screencasts unter http://vimcasts.org/ sind großartig!

3
David Laing

Vielleicht möchten Sie mit Cream anfangen. Cream beschreibt sich selbst als "moderne Konfiguration" von vim. Grundsätzlich handelt es sich um eine spezielle Version von vim, die für alle praktischen Zwecke wie jeder andere Texteditor aussieht und sich anfühlt. Aktivieren Sie aber den "Expertenmodus" und Sie haben die ganze Kraft und das Verhalten von vim.

Sie können Cream also als regulären Texteditor verwenden und dann mit dem "Expertenmodus" experimentieren, bis Sie bequem genug sind, um vollständig zu vim zu wechseln.

2
sids

Installieren Sie gVim auf allen von Ihnen verwendeten Plattformen.

Dann lauf durch den Vimtutor (:help vimtutor oder vimtutor in der Befehlszeile).

Sehen Sie sich den folgenden Vortrag an und befolgen Sie seine Empfehlungen: 7 Gewohnheiten für eine effektive Textbearbeitung 2.

Ich sage, Sie möchten es definitiv für Ihre gesamte Bearbeitung verwenden. Wenn Sie einen Produktivitätsverlust befürchten, nehmen Sie sich ein Wochenende, um das Training zu üben (ich habe dies einmal getan, um von QWERTY auf Dvorak umzusteigen, und meine Produktivität war am Montag hoch genug, und es ist mir gelungen, mich danach daran zu halten).

Die Mühe lohnt sich und Sie werden nicht zurückblicken!

2
user13060

Sie könnten eine der originalen Happy Hacker-Tastaturen (keine Pfeiltasten) in die Hände bekommen und Ihre (drahtlose) Maus bei jedem Bearbeitungsvorgang außer Reichweite halten.

2
Garth Gilmour

Es ist einfach, eine große Liste von Befehlen/Tastenkombinationen zu schreiben, aber es ist schwierig, sich alle ohne Übung zu merken.

Konzentrieren Sie sich jeweils auf einen neuen Befehl. Wenn es automatisch wird, z. B. nach ein oder zwei Wochen, erweitern Sie Ihr Repertoire um ein weiteres.

Sie werden den weiten Weg gehen, um bestimmte Dinge kurzfristig zu erledigen - dies sind offensichtliche Gelegenheiten, um neue Shortcuts zu erlernen.

Nach meiner Erfahrung war es einfacher, wenn ich versuchte, nicht zu viel auf einmal anzunehmen.

2
Craig Hyatt

Mein Tipp Nummer eins: Lernen Sie schnell zu tippen, ohne auf die Tastatur schauen zu müssen.

Wenn Sie den Typ nicht berühren können und immer nach dem Doppelpunkt oder dem hjkl oder:% s/foo/bar suchen, vergessen Sie es. Das Tippen von kann schneller sein als das Verwenden der Maus, aber wenn das bei Ihnen nicht der Fall ist, wird es nicht funktionieren.

Aber kombinieren Sie gute Schreibfähigkeiten, ssh und Bildschirm und vi wird natürlich sein.

2
Michael Cramer

ESC gg=G zum erneuten Einfügen von Code und :retab Tabulatoren in Leerzeichen oder Leerzeichen in Tabulatoren zu konvertieren war das, was mich an vim faszinierte. Eigentlich müssen Sie nicht gezwungen werden, es zu verwenden, sondern müssen nur lernen, wann es Ihnen helfen kann, Ihre Geschwindigkeit zu erhöhen.

Gehen Sie vimtutor durch.

Starten Sie mit vim für die einfache Bearbeitung, wie Konfigurationsdateien oder HTML. Lernen Sie die Befehle nach Bedarf.

Durchsuchen Sie Google nach einer guten .vimrc-Datei, die von jemandem verwendet wird, der eine Toolchain verwendet, die Ihrer ähnelt. Aktivieren Sie die Syntaxhervorhebung. Finde ein schönes Farbschema.

Lernen Sie Makros, denn Vim eignet sich am besten für automatisierte Aufgaben und das Einfügen von Snippets, z. B. zum Formatieren einiger Wörter in ein komplexes XML-Tag oder zum Konvertieren einer CSV in eine HTML-Tabelle.

2
Eduardo Marinho

Stellen Sie sich der Tatsache, dass dies einen sofortigen Leistungseinbruch zur Folge hat. Wenn Sie ein neues Werkzeug lernen, müssen Sie in der Lage sein, etwas zu tun, das Sie mit anderen Werkzeugen zu tun wissen, damit das Problem nicht Ihr Problem ist. Nachdem Sie das neue Tool eine Weile verwendet haben, verschwindet es und Sie konzentrieren sich nur noch auf das zugrunde liegende Problem.

Bei so etwas wie vim (wie andere gesagt haben, ist vim vi weit überlegen) ist es wichtig, die Dokumentation regelmäßig erneut zu lesen und zu durchsuchen. Die Schnittstelle ist ohne sie völlig unentdeckbar. Bei jeder neuen Lektüre sehen Sie ein Feature und sagen: "ah ha, das hätte das Problem gelöst, das ich letzte Woche zu lösen versucht habe", und legen es in Ihrem Gehirn ab. Lösungen im Zusammenhang mit Problemen in der Praxis sind für Sie viel einfacher zu merken als zufällige Verknüpfungen.

Am Ende können Sie vim mit einer relativ kleinen Anzahl von Funktionen verwenden, lassen Sie sich also nicht von allem Schnickschnack überraschen. Denken Sie an alle Funktionen in Word. Verwenden 99% der Benutzer diese?

2
Matt Price

Als ich viel jünger war (elf), zog meine Familie für ein paar Jahre nach Deutschland. Ich konnte die Sprache durch Untertauchen lernen - ich hatte einfach keine andere Wahl, als die Sprache zu sprechen (obwohl ich in einer schlimmen Situation einen Englisch sprechenden Mann finden konnte).

Mein Vorschlag ist, dass Sie dasselbe tun - es sei denn, Sie befinden sich in einer absolut verzweifelten Situation (z. B. "OK, ich habe gerade/etc/passwd gelöscht und muss die Wurzel zurücksetzen"). Treffen Sie die bewusste Entscheidung, Ihr Bestes mit vi zu geben. Das Erlernen der Grundlagen dauert eigentlich nicht lange, wenn Sie dazu bereit sind.

Wie andere vorgeschlagen haben,

vim-tutor

kann ein wirklich guter Ausgangspunkt sein, wie auch dieses Bild .

1
cjmac

Benutze die Post-It Note Methode :-)

Wenn Sie gvim verwenden, erlauben Sie es sich selbst, die Menüs zu verwenden. Lesen Sie ein Buch/Tutorial über vim, damit Sie die Grundlagen kennen. (Einfüge- und Befehlsmodus)

Wählen Sie einige wirklich coole Funktionen aus, die Sie für nötig halten, und schreiben Sie diese auf die Haftnotizen und kleben Sie sie dann auf den unteren Teil Ihres Monitors.

Ein guter Anfang ist wahrscheinlich i, a, o, gg, G,: 10,/etwas

und einige schneiden und einfügen wie yy, dd, p

und nur mit v, V (dem visuellen Modus) + Ausschneiden und Einfügen auffüllen

Wenn Sie sie dann kennen, ersetzen Sie sie auf dem Post-It durch eine neue, die eine noch coolere Funktion hat, und wiederholen Sie dies, bis Sie zufrieden sind.

/ Johan

1
Johan

Wie zwinge ich mich? Mein Rat ist, in einer Arbeitsumgebung zu sein, in der Sie 10 Unix-Boxen warten müssen, indem Sie sie von Fenstern aus telnetting/puttying. Sie werden schnell erkennen, dass die einzige Möglichkeit, Text in mehreren Varianten von * nix effizient zu bearbeiten, die Verwendung eines Standardeditors ist, der mit fast jeder mir bekannten Distribution geliefert wird. Auch wenn X11 bei einer Neuinstallation nicht startet, ist vi dein einziger Freund :)

1
Excalibur2000

Ich habe vim/vi vor über zehn Jahren gelernt, als ich meinen Master gemacht habe. Damals habe ich nur Zugriff auf Sun Sparc-Stationen (glaube ich Sparc 20). Und vi ist das einzige, was drauf ist. Sie können sich also "zwingen", indem Sie jeden anderen Editor deinstallieren, den Sie haben!

1
lang2

Persönlich musste ich sicherstellen, dass ich die Vim-Schlüsselbindungen (oder zumindest nah genug) in mehreren Anwendungen verwenden konnte. Wenn ich die Art und Weise, wie ich Text bearbeitete, bei jedem Editorwechsel komplett umstellen musste, war es zu schwierig, den Vim-Bearbeitungsstil für das Muskelgedächtnis zu nutzen.

In meinem Fall hat Viemu + vimperator den Trick gemacht.

1
tomasr

Ich habe vi erst gelernt, als ich anfing, für einen ISP zu arbeiten, bei dem die Skripte zum Bearbeiten von Domänen nur auf einem Terminal geöffnet wurden. Ich hatte keine andere Wahl, als es zu lernen, aber ich habe es nie bereut.

Kurz gesagt, versetzen Sie sich in eine Situation, in der Sie keine andere Wahl haben, als es zu lernen.

0
Nathan Fellman

Ich würde mit argdo beginnen, und sobald Sie sich in das verlieben, ist der Rest einfach ...

0
Kearns

Verbringen Sie ein paar Stunden auf der Website des vi-Liebhabers http://nereida.deioc.ull.es/html/vilovers.html - viele Tutorials, Links usw. mit begeisterten Fans von vi.

0
DarenW

Eine Sache, die ich im modernen vi (vim?) Sehr verwirrend fand, ist der Eingabemodus, der einige, aber nicht alle Funktionen des Befehlsmodus zulässt. Ich fühle mich viel wohler, wenn der Eingabemodus auf "Nur überschreiben, keine Cursorbewegung möglich" reduziert ist. Das wahre vi erfordert, dass Sie die meiste Zeit im Befehlsmodus bleiben.

Allerdings muss man heutzutage nicht mehr vi lernen - Emacs sind genauso allgegenwärtig. :)

0
Arkadiy

Warten Sie, bis Sie ein seltsames und wunderbares Problem in einer Live-Umgebung beheben müssen, in der Sie nur die Befehlszeile aufrufen können. Sie werden VI vielleicht nicht mögen, aber es spart Ihnen viel Zeit und Sie werden eine Menge Tricks lernen, um massive (Protokoll-) Dateien zu durchlaufen.

0

Obwohl ich ein großer Fan von vi im Allgemeinen und vim im Besonderen bin, gibt es viele leistungsstarke Editoren, und Sie sollten nicht das Gefühl haben, dass Sie vi verwenden müssen, oder es ist in irgendeiner Weise ein absolut perfekter Editor, weil es nicht der Fall ist.

Wenn Sie sich zwingen müssen, vi zu verwenden, würde ich befürchten, dass Sie sich nicht produktiv fühlen, wenn Sie es verwenden. Wenn Sie jedoch darauf bestehen, fortzufahren, würde ich wahrscheinlich nur sicherstellen, dass ich vi für jede einzelne Bearbeitungsaufgabe verwende. Wann immer ich etwas tun muss und ich nicht ganz der beste Weg, es zu tun, würde ich versuchen, das Optimum (in Bezug auf minimale Tastenanschläge) zu finden, um es in vi zu tun nachher Habe ich getan es ist ein nicht optimaler normaler Weg. Ich mache dann eine Haftnotiz mit diesem kleinen Tipp (oder vielleicht nur einer Textdatei), damit ich mich das nächste Mal daran erinnere.

Mit der Zeit wird sich Ihre Produktivität mit vi dramatisch verbessern.

0
Brian Mitchell

Ich habe vi aus dem ausgezeichneten O'Reilly-Buch gelernt "Learning the vi editor" .

0
Phillip Wells

Warum greife ich nicht mit meiner eigenen reibungsarmen Art ein, mich zu zwingen? :-)

Was ich tue, ist einfach: Ich versuche, meine git-Commit-Nachrichten mit vim zu erstellen (Standardeditor, wenn Sie in der Befehlszeile keine Nachricht angeben).

Natürlich ist eine Commit-Nachricht so kurz, dass es kaum hilft. Beim erneuten Bearbeiten einer Nachricht mit git commit --amend es ist hilfreicher.

0
webmat

Drucken Sie einen der vielen Vi/Vim-Spickzettel aus, die Sie im Internet finden, und zwingen Sie sich, ein paar Wochen dabei zu bleiben.

Sobald Sie einige grundlegende Befehle gelernt haben, können Sie ziemlich effizient sein. Von dort aus einfach weiterstecken und von Zeit zu Zeit einen neuen Befehl lernen. Es gibt keine Möglichkeit, ALLE vi-Befehle zu lernen. Ich glaube, es gibt mehr vi-Befehle als Atome im Universum !! :)

0
Utah_Dave

Ich brauchte anfangs ein paar Minuten, um die grundlegendsten Dinge durchzugehen - den Cursor bewegen, vorwärts und rückwärts suchen, zu den nächsten und vorherigen Wörtern/Sätzen/Absätzen springen usw. Einfügen, Anhängen. Was auch immer Sie in Ihren Kopf passen können. Wenn Sie dann etwas zu tun haben, das in den nächsten 15 Sekunden nicht erledigt werden muss, sollten Sie es selbst verwenden.

Wenn Sie mit den Grundlagen ziemlich vertraut sind, lernen Sie langsam die fortgeschritteneren Befehle - insbesondere die, die Ihr vorheriges Lernen nutzen (wie das Ersetzen der nächsten 3 Wörter oder das Löschen zum nächsten Suchziel).

Ich liebe es, VI zu verwenden, sobald ich gelernt habe, wie. Die erweiterten Befehle sind weitaus leistungsstärker als das, was die meisten GUI-Editoren zu bieten scheinen, und die Tatsache, dass sie allgegenwärtig und textbasiert sind und daher über ssh verfügbar sind, ist umso besser.

0
randychilders

Mach was ich getan habe. Nutze es für alles und hänge in #vim auf freenode ab.

0
Jeremy Cantrell

Google ist dein Freund. Halten Sie ein Fenster oder einen Tab bereit, und wenn Sie etwas haben, das Sie mehrmals ausführen müssen, sagen Sie Code einrücken oder suchen Sie mit einem regulären Ausdruck, schauen Sie nach. Die besten Tipps Websites werden vertraut, einige Lesezeichen und vielleicht ein Spickzettel ausdrucken.

0
sammyo

Ich habe angefangen, VI zu verwenden, weil es der Standardeditor auf so ziemlich jedem Betriebssystem außer Windows ist. Andererseits programmiere ich unter Windows nicht viel, was hilft.

Wenn Sie sich auf einem * NIX/OSX-System erzwingen möchten, entfernen Sie einfach die anderen Editoren oder verwenden Sie einen Alias. Im Übrigen liegt es an Ihnen. Wenn Sie VI nicht zum Bearbeiten einer Datei verwenden, wird kein Cookie angezeigt.

0
Kristian

Die beste Weise? Stellen Sie Ihr Terminal so ein, dass es vi-Tastenkombinationen verwendet.

0
chiggsy

lösche notepad.exe und erstelle stattdessen eine Verknüpfung zu vim namens notepad :)

oder mache deine gesamte Codierung via ssh oder auf einem Rechner ohne GUI;)

0
shyam

Ich habe versucht, ein kleines Spickzettel oder Haftnotizen von allgemeinen vi-Befehlen zu behalten. Ich mache das Gleiche für ein IDE= Ich benutze. Ich finde, wenn ich Haftnotizen von Tastaturkürzeln oder Befehlen auf meinen Monitoren anbringe, hilft es mir, sie zu lernen. Sobald ich das benutzt habe Genug Verknüpfung und denke, ich erinnere mich gut, ich werde die Haftnotiz entfernen.

0
Bob Wintemberg

verknüpfen Sie jeden Terminaleditor auf Ihrem System mit vim und verknüpfen Sie jeden Grafikeditor auf Ihrem System mit einem Skript, das ein neues Terminalfenster öffnet, in dem vim ausgeführt wird.

0
Steve Losh

Ich habe es benutzt, um Dateien auf dem Webserver zu bearbeiten, der Linux war, anstatt FTP zu verwenden. Das war vor 9 Jahren und ich habe seitdem die Fähigkeiten gemeistert.

Die andere Möglichkeit besteht darin, in VIs großartige Funktionen wie globales Suchen und Ersetzen oder noch leistungsstärkere Funktionen zu finden und VI zu verwenden, wann immer dies erforderlich ist.

0
Brian G

Wenn Sie schnell nach etwas suchen müssen, kann es hilfreich sein, alles auf einer Seite zu haben.

0
webmat

Wenn Sie sich zwingen, es einige Tage lang zu verwenden, werden Sie feststellen, dass die Befehle bald zur Selbstverständlichkeit werden. Wenn Sie sich auf einem Posix-System befinden, empfehle ich Ihnen, mit dem BSD-lizenzierten nvi, einem klassischen 1: 1 vi-Klon, zu beginnen und dann mit vim fortzufahren. Wenn Sie mit vim beginnen, verwenden Sie wahrscheinlich nur eine Teilmenge der Bearbeitungsbefehle, da der INSERT-Modus den GUI-Editoren sehr ähnlich ist.

0
jbcreix

ähm, das ist mehr eine physikalische Frage als eine Programmierfrage, aber das Beste, was ich tun konnte, was ich eigentlich nicht wollte, ist, es einfach zu tun und nicht mehr zu versuchen, mich zu motivieren es zu tun.

Stellen Sie sich vor, Sie putzen sich die Zähne. Müssen Sie sich dazu motivieren? Nein, du machst es einfach.

0
Craig H

Verbringen Sie zehn Jahre mit dem Posten im Usenet von einem Computer aus, auf dem nur vi und emacs verfügbar waren (und auf dem emacs beim Aufruf von 'rn' eine lästige lange Startzeit hatten).

So habe ich es gelernt.

Für eine schnellere Herangehensweise kann ich jedoch nur empfehlen, dass Sie sich nur dazu verpflichten, es zu lernen, und ein paar Stunden damit verbringen, an einem Quellcode zu arbeiten. Installieren Sie vim, wenn Sie es noch nicht haben - es verfügt über wunderbare Syntax-Hervorhebungsfunktionen.

Es lohnt sich. Ich weiß, dass ich auf nahezu jede Unix-Maschine in der ganzen westlichen Welt zugreifen kann, vielleicht sogar über eine langsame DFÜ-Verbindung oder auf einer Maschine ohne GUI, und innerhalb weniger Minuten voll produktiv sein kann.

0
Matt Hucke

Ich habe ein VI unter Windows. Die von mir verwendete Version ist unten aufgeführt. Wenn ich mich in einem Konsolenfenster befinde, habe ich immer das Standard-VI. Unabhängig von meinem Betriebssystem weiß ich, dass ich die Datei bearbeiten kann. Umgekehrt, wenn ich mich im UI-Modus befinde, verwende ich Notepad ++ go.

NT VI - Version 0.23 Entwickelt von: Tony Andrews Basierend auf einem Programm von: Tim Thompson

0
titanae

Ich war gezwungen, Vim für meinen ersten Programmierjob zu lernen, als ich 16 war (der Chef ließ uns nichts anderes verwenden), aber ich machte keine wirklichen Fortschritte, bis ich Steve Ouallines Vim-Buch las = - es ist sehr zu empfehlen als ausgangspunkt, wenn sie ernsthaft mit vim werden wollen.

Vim braucht tatsächlich mehr Zeit als einige Programmiersprachen (die Funktionen sind so komplex). Der Versuch, Vim durch das Drucken von Spickzettel 'zu meistern', wäre wie der Versuch, Haskell durch das Lesen einiger Blog-Beiträge zu meistern. Seien Sie bereit, ernsthafte Zeit zu investieren, und Sie werden gut belohnt.

0
too much php

Ich habe mir ein handliches, einseitiges Spickzettel erstellt und damit alle nicht grundlegenden Funktionen erlernt. Übung ist jedoch der einzige Weg, etwas zu meistern.

vi ist schön, weil es auf jedem UNIX-Computer, Mac OS X, Solaris, Linux läuft. Finden Sie eine alte Decstation Box bei eBay? Es hat vi. Wie wäre es mit Sun OS 4? vi schon wieder.

0
Norman Franke

Spiele viel Nethack. Das habe ich auf dem College gemacht und später festgestellt, dass die Cursorbewegung dieselbe war. Zu diesem Zeitpunkt müssen Sie möglicherweise die Einstellung ändern, um die Keymap im vi-Stil zu verwenden.

0
oj