Was ist der beste Weg, um sich zu zwingen, vi zu meistern? [geschlossen]

205

Vor einiger Zeit habe ich einen Artikel des Erstellers von viemu gelesen , in dem viele Missverständnisse über vi geklärt und erklärt wurden, warum dies eine gute Idee ist (und warum sie seit über 30 Jahren sehr beliebt ist). Der gleiche Typ hat auch eine große Auswahl an grafischen Spickzettel , die die Grundlagen jeweils ein paar Mal vermitteln.

Ich bin überzeugt.

Ich bin in den letzten 2 Jahren tatsächlich überzeugt worden. Aber ich bin immer noch nicht dazu gekommen, mich zu zwingen, vi als mein Haupteditor zu lernen. Die Lernkurve ist einfach zu hoch. Wenn ich mich an die Arbeit mache, hat eine akzeptable, aber sofortige Produktivität (mit meinem aktuellen Editor) bisher die enorme Produktivität auf der ganzen Linie (mit vi) überzeugt.

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

Bearbeiten: Beachten Sie, dass mir die Varianten vim / gVim , Cream und MacVim (usw.) von vi bekannt sind. Ich habe meine Frage zu vi beibehalten, um mich auf die gesamte vi-Familie zu beziehen. Vielen Dank für all 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.

Webmat
quelle
14
Ich habe vim gelernt, weil ich vor Jahren nicht wusste, wie man den Standardeditor ändert. ;)
vorhanden
Da es sich um eine Messung der Wissensaufnahme im Laufe der Zeit handelt, ist eine steile Lernkurve im Allgemeinen eine gute Sache. Dies bedeutet, dass Sie schnell lernen. :)
converter42
Gerade heute Morgen hatte ich Probleme mit vi und stöberte im Stack Overflow, um mich davon abzulenken, und siehe da, das ist ganz oben! Schön zu hören, dass Sie es immer noch verwenden. Hoffentlich bin ich in vier Monaten in Ihren Schuhen.
Greg Noe
3
Nur als Randnotiz: Wussten Sie, dass Sie für fast alles Vim-Pluggins bekommen können?! Sie können ein vim-Plugin für Firefox erhalten, damit sich alle Ihre Textfelder wie vim verhalten! Dies ist jedoch interessanter als nützlich. Was nützlich ist (obwohl ich es noch nicht heruntergeladen habe), ist das vim-Plugin für Eclipse. Das scheint nützlich zu sein!
Sixtyfootersdude

Antworten:

125

Zunächst möchten Sie vielleicht Vim abholen. es hat eine weit überlegene Ausstattung 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 den Editor zu lernen. Halten Sie die Dokumentation während der Arbeit offen und seien Sie diszipliniert genug, um sich nicht auszuruhen. Wenn Sie mehr lernen, effizient werden und sich auf das Muskelgedächtnis verlassen, wird es nicht so schwer sein, daran festzuhalten.

Ich benutze Vim schon so lange, dass ich nicht einmal darüber nachdenke, welche Tasten ich drücken soll, um zu suchen, zu navigieren oder zu speichern. Und meine Hände verlassen nie die Tastatur. Die Verwendung von Vim ist eine der besten Entscheidungen, die ich in meiner Programmierkarriere getroffen habe.

Lucas Oman
quelle
15
Ich habe es bei der Arbeit gelernt und konnte einen Produktivitätsverlust nicht vermeiden. Es hat geholfen, einen Vimmer neben mir zu haben, um ständig Fragen zu stellen. Finde jemanden, der vim gut kennt und finde Freunde mit ihm! Schauen Sie sich schnell die Navigationstasten an und lernen Sie die Modi kennen. Probieren Sie es in 15 Minuten aus, Sie werden es bekommen.
Camflan
4
Ich stimme zu, bleib einfach dran. Du wirst wissen, dass du da bist, wenn du gezwungen bist, Nano oder Notizblock zu benutzen, und das macht dich verrückt!
Kyle Walsh
3
Nachdem ich Vim ein Jahr lang gestartet und nicht mehr verwendet hatte, stellte ich fest, dass es ziemlich hilfreich war, das Vim-Buch zu kaufen und es selbst durchzuarbeiten. Außerdem versuche ich, die Einstellung "Es muss einen schnelleren Weg geben, dies zu tun" beizubehalten und suche ständig in der Hilfe nach Möglichkeiten, die Dinge besser zu machen.
JD Frias
2
Halten Sie außerdem eine Liste mit Funktionen bereit, mit denen Sie sich vertraut machen möchten. Ich benutze vim seit über 5 Jahren und habe immer noch eine Tomboy-Notiz mit neuen Dingen, die ich gelernt habe und an die ich mich erinnern möchte.
Lucas Oman
65

Das erste, was ich tun würde, ist ein Stück Papier oder ein Buch über Ihre Pfeiltasten und Ihre Ins / Home / End / Pgup / Down-Tasten zu legen. Diese werden in Vi nicht benötigt.

Als nächstes gewöhne ich mich daran, Strg + [zu drücken, wenn man dir sagt, dass du Escape drücken sollst. 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.

Bearbeiten 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 verhindern auch, dass Sie die Modalität wirklich annehmen, die beim Beherrschen sehr mächtig ist.

Aaron Jensen
quelle
Ich denke nicht, dass moderne Vi / Vim-Benutzer die Cursortasten meiden sollten. Sie werden Vi wahrscheinlich nie auf einem System ohne Cursortasten verwenden, daher ist es unnötig zu lernen, sie zu vermeiden, und sie funktionieren (heutzutage) einwandfrei.
Tialaramex
24
Ich habe die Feststelltaste auf meiner Tastatur wieder Escape zugeordnet. Noch schneller als Strg + [!
Chris AtLee
Ich bin damit einverstanden, die Cursortasten zu vermeiden. Einer der Vorteile von Vis Bewegungsansatz besteht darin, dass Sie, sobald Sie sich daran gewöhnt haben, auf alle Situationen eingestellt sind (lesen Sie: auf einem beengten Laptop-Layout oder in Remote-Sitzungen auf seltsamen Betriebssystemen, auch bekannt als alte Unices, oder über seltsame Terminals)
Webmat
8
Ich habe die Cursor verwendet, bis ich sie in meiner .vimrc deaktiviert habe: map <Up> "" map <Down> "" map <Right> "" map <Left> "" Meine Handgelenke sind dankbar, dass ich diese Angewohnheit losgeworden bin!
Johan Kotlinski
2
Joey, Pfeiltasten wären in der Tat nützlich, aber es ist fast immer besser, den Einfügemodus zu verlassen, zu dem gewünschten Ort zu navigieren und den Einfüge- oder Änderungsmodus erneut einzugeben oder in einem beliebigen Modus das zu tun, was Sie tun möchten. Das Schlagen von Flucht oder ^ [ist schneller als das Hin- und Herbewegen der Hände.
Aaron Jensen
39

Schritt 0: Lernen Sie, den Typ zu berühren. Im Ernst - wenn Ihre Finger nicht wissen, wo sich die Tasten befinden, wird vim ein Schmerz sein. Und selbst wenn Sie vim ablehnen, verbessert das Tippen durch Berühren Ihre Programmierung (fragen Sie Steve Yegge ), indem Sie den Geist dazu bringen, die Reibung der Links frei zu überwachen. Es gibt eine Menge von Software , die Sie Ihre Eingabe verbessern helfen können.

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

Schritt 2: Verwenden Sie Vim überall. In dieser Frage finden Sie Tipps und Links zur Verwendung von vim- und vi-Tastenkombinationen in der Befehlszeile Ihres Webbrowsers, zum Erstellen von E-Mails in Ihrer IDE ... Sie müssen vim verwenden, um die Tastenkombinationen in Ihr Muskelgedächtnis einzubetten.

Schritt 3: Erfahren Sie mehr über vim. Sie haben die Oberfläche nur mit vimtutor zerkratzt. Sie können sich dieses Video ansehen oder lesen Sie diesen Artikel (sowohl über die „Sieben Gewohnheiten der effektiven Textbearbeitung“ Sie können. Lesen Sie über Tipps und Tricks auf Stackoverflow Sie durchsuchen können. Vimtips eine litle Lernen oft mein Rat wäre -. Es gibt so viel da draußen ist das Festhalten an mundgerechten Stücken der beste Weg, um das Wissen festzuhalten.

Schritt 4: Gewinn :)

Hamish Downer
quelle
2
Touch-Typing ist ein Muss, wenn Sie jemals ein gewisses Maß an Meisterschaft erreichen möchten. Aber wenn Sie wirklich gut in all diesen Computer-Sachen werden wollen, brauchen Sie sicherlich niemanden, der Ihnen das sagt, Sie werden das leicht selbst herausfinden. =)
sjas
vimtutor ist großartig :-)
user454083
Sehr zugängliche und wissenschaftliche Art, vim zu meistern. Ich werde versuchen, mich auf diesem Weg zum Hauptweg nach vim zu führen. Ich hoffe, ich kann am Ende bleiben.
YinchaoOnline
26

Ich war im Laufe der Jahre immer wieder ein Benutzer von vim (gelegentlich als Systemadministrator). Ich habe erst vor kurzem angefangen, mehr Zeit damit zu verbringen, meine Programmierarbeit darin zu erledigen. 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 (zusammen mit gVim) ein- oder zweimal durch (dauert ungefähr eine Stunde). Ich kann nicht übertreiben, wie hilfreich es für mich war! Insbesondere die ersten Teile über die verschiedenen Arten, sich durch ein Dokument zu bewegen, und wie Bearbeitungsaktionen mit Bewegungsbefehlen usw. aufgezeichnet werden. Danach werden die Dinge VIEL klarer.

Beginnen Sie dann damit, schnelle, geringfügige Änderungen vorzunehmen (Ersetzen von Notizblöcken), bis Sie sich wohl genug fühlen, um nützliche Bearbeitungen in einem schnellen Clip durchzuführen. Versuchen Sie dann, Ihre tägliche Arbeit darin zu erledigen. Sie werden in kürzester Zeit in anderen Editoren nach dem Befehl "Letzte Aktion wiederholen" suchen!

Brian
quelle
Sie können die Maus in normalem vim verwenden, indem Sie ": set mouse = a" ausführen.
Stephen Paulger
19

Sie haben nach guten Tipps gefragt, 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 eher das Denken in Befehlen als visuelle Änderungen.

Ich habe viele Jahre lang nur vi verwendet und glaube, dass Sie nur dann produktiv sein können, wenn Sie sich die Befehle merken, die Sie regelmäßig verwenden. So habe ich eine kurze Liste der häufigsten Tastaturbefehle erstellt. Ich habe diese Befehle nach Funktionen gruppiert und farbcodiert, dh den Cursor bewegen, bearbeiten, suchen usw. Ich habe darauf geachtet, nur die am häufigsten verwendeten Befehle einzuschließen, die ich nicht kannte. Die Idee ist, eine Kurzreferenz zu erstellen, die auch beim Auswendiglernen hilft - 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 Erinnerungswerkzeug.)

Hier ist der Schlüssel. Als ich mich mit einem der Befehle vertraut gemacht hatte, zog ich mit einem Bleistift eine Linie durch. 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 durchgestrichen hatte, entfernte ich sie und fügte einige der selteneren Befehle hinzu. Ich setzte diesen Prozess fort, bis ich mit meinem Befehl von vi zufrieden war. Ich wusste, dass ich an diesem Punkt angelangt war, als mir klar wurde, dass ich lange Zeit keine Befehle mehr durchgestrichen oder mir 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 gepostet, als ich vi zum ersten Mal verwendet habe. Am Ende der ersten Woche fühlte ich mich sehr wohl, obwohl es fünf Jahre her war, seit ich vi benutzt hatte.

TMarshall
quelle
2
Ich denke, dies ist ein ausgezeichneter Rat und gilt gleichermaßen für das Erlernen anderer Tools wie IDE, Debugger oder sogar Excel.
Davidavr
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 ist oder so. Ich persönlich bevorzuge nur eine auffindbare Benutzeroberfläche.

Aber Sie müssen VI wirklich kennen, wenn Sie etwas Wichtiges unter Linux tun!

Lernen Sie also 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 natürlich der Navigation) 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 kann etwas nützlich sein.

Bill K.
quelle
4
Der Befehl: help ist einer der nützlichsten, die Sie zuerst lernen können - wer benötigt Nachschlagewerke oder das Web, wenn er in den Editor integriert ist?
Zickdon
2
Kein Nachschlagewerk erforderlich, wenn Sie lernen: Hilfe. Machen Sie sich mit "Sie werden wahrscheinlich nicht im Internet surfen können" mit dem Luchs vertraut und verknüpfen Sie die Browser. Zur Not können Sie sie sogar zum Durchsuchen des Dateisystems verwenden.
Konverter42
11

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

jbarciela
quelle
11

Sie sollten mit vim (Vi IMproved) und insbesondere der GUI - gVim beginnen . 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. Sie können vim beispielsweise 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 brauchen.

Cristian Ciupitu
quelle
Je nach Terminalemulator ist die Verwendung der GUI auch schneller. :)
Arafangion
10

Löschen Sie alle anderen Texteditor-Apps.

Dann musst du es lernen.

Bob Dizzle
quelle
9

Der einfachste Weg, sich zu zwingen , besteht darin, alle anderen Editoren von Ihrem Computer zu entfernen. Versuchung loswerden :)

Dana
quelle
9

Fragen Sie sich jedes Mal, wenn Sie eine komplexe Bearbeitungsaufgabe ausführen, ob es einen effizienteren Weg gibt, dies zu tun. Wenn Sie dies in einfachen Worten beschreiben können (z. B. "Textabschnitte austauschen" oder "Alles nach dem X-Zeichen in kommentierten Zeilen löschen"), können Sie dies in nur wenigen Tastenanschlägen in vim tun.

Es gibt einige wichtige Funktionen, die äußerst nützlich sind und die Sie nicht mehr verwenden können. Die, die ich am meisten liebe, sind:

  • Blockauswahl (Strg-V)
  • Makroaufnahme (q)
  • Virtuelle Bearbeitung (: set ve = all)
  • Reguläre Ausdrücke
  • Weiterleitung an externe Unix-Programme
  • Tastenzuordnungen
  • Autovervollständigung (Cp, Cx Cp, Cx Cf)
  • Die Kombination aus Operation und Bewegung (dies ist erstaunlich leistungsstark)

Fragen Sie andere Programmierer, welche Funktionen sie am nützlichsten finden, und übernehmen Sie diejenigen, die besser zu Ihrem Gehirn passen. Stehlen Sie Ideen von anderen .vimrc( hier ist meine )

Roberto Bonvallet
quelle
8

BEARBEITEN: Ich habe eine Karteikarte erstellt, die auf der Online-Wiederholungsseite flashcarddb.com eingerichtet wurde , falls Sie interessiert sind ...

  1. Verwenden Sie ein Flash-Kartenprogramm für räumliche Wiederholungen wie Mnemosyne , Supermemo oder Anki , um das Lernen und Beibehalten neuer Befehle in Ihren Tagesablauf zu integrieren. Es reicht nicht aus, vim als täglichen Editor zu verwenden. Um es 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 sind.
  2. Pflegen Sie eine .vimrc mit Anpassungen
  3. Schreiben oder bearbeiten Sie ein vim-Plugin
Peter Nore
quelle
8

Ich habe vor einiger Zeit eine Anleitung zur effizienten Bearbeitung mit Vim geschrieben . Sie können es hilfreich finden.

Ich würde eine Minute zurücktreten und mich fragen: "Warum möchte ich diesen Editor lernen? Warum denke ich, 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 völlig unverzichtbar. Ich arbeite mit einer sehr, sehr großen Codebasis, und die Möglichkeit, 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 nur schwer arbeiten kann.

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

Ihr Autopilot-Editor wählt den Editor aus, der die Arbeit am schnellsten und mit der geringsten mentalen Anstrengung erledigt. Ein wenig Vorarbeit stellt sicher, dass der Editor Vim ist. :-)

Jonathan
quelle
1
Der Link funktioniert nicht mehr
Eugenevd
6

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

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

Mein Vorschlag: klein anfangen. Beginnen Sie einfach damit, sich einen kleinen Satz der nützlichsten Befehle zu 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 hinzuzufügen
  • A, um Text am Ende der aktuellen Zeile hinzuzufügen
  • x, um 1 Zeichen zu löschen
  • dd um 1 Zeile zu löschen
  • R zum Ersetzen von Text (überschreiben)
  • u rückgängig machen
  • : q! (Enter) zum Beenden ohne Speichern
  • : w (Enter) zum Speichern
  • ZZ zum Speichern und Beenden

Viele grundlegende Bearbeitungen können nur mit diesen Befehlen durchgefü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 Tool aus und wählen Sie das aus, das Ihrer Produktivität am meisten hilft. Viel Glück!

Paulus
quelle
ZZ - Befehl funktioniert nicht in MacVim
innuendoreplay
5

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

bk1e
quelle
4

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 verwenden Sie Google und den Stapelüberlauf, um herauszufinden, wie die einzelnen Funktionen in vi ausgeführt werden. 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 in Ihrem Vergleichsblatt nachzuschauen und dies in vi zu tun - dh 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!

Kerl
quelle
4

Verwenden Sie X11 nicht ?

$ sudu rm /usr/local/bin/emacs

Ändern Sie Ihre Login-Shell in vi ?

Zuerst zwingen Sie sich, ed zu benutzen , dann wird vi wie ein Luxus erscheinen?

Verwenden Sie die vi- Tastenkombinationen in bash ?

Fangen Sie einfach an, vi die ganze Zeit zu benutzen ?

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

Ich benutze vi für sehr 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.

Jon Ericson
quelle
3

Meine Empfehlung ist, einige einfache Programme zu entwickeln und sie zu schreiben, von Anfang bis Ende mit VI.

Die Chancen stehen gut, dass Sie von der Lernkurve zunächst zu frustriert sind, um sich zu zwingen, sie bei der Arbeit oder in einer zeitkritischen Umgebung zu verwenden.

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

Wenn Sie Probleme beim Schreiben haben, empfehle ich, Projekte zu wiederholen, die Sie in der Schule durchgeführt haben (oder alles andere, was Sie zuvor getan haben). Diese Methode hat den zusätzlichen Vorteil, dass Sie sehen können, wie viel besser Sie Entwickler geworden sind. :) :)

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

TM.
quelle
3

Ich erinnere mich, als ich anfing, Emacs zu lernen, war es, nachdem ich mich mit Vim bereits sehr wohl gefühlt hatte und ich in demselben oder einem ähnlichen Boot saß wie Sie, wo ich wusste, wie man in einem anderen Editor viel erledigt, als ich anfing Mit Emacs war es immer schmerzhaft langsam.

Ich denke jedoch, dass Sie nur ein wenig Schmerz absorbieren müssen und immer, immer, IMMER sicherstellen müssen, dass Sie die Dokumentation nachschlagen, um etwas zu tun, das Sie wissen es in Ihrem vorherigen Editor tun können, wie z B. 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 stellen kann, oder wenn Sie wie unser Unternehmen sind, fördern Sie die Paarprogrammierung. Auf diese Weise können Sie, wenn Sie versuchen, etwas zu tun, das einfach sein sollte, einfach jemanden fragen, der Ihnen zeigt, wie 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 keine lokalen Ressourcen haben, stehen online zahlreiche Bücher / Tutorials / Referenzblätter zur Verfügung, mit denen Sie die meisten Ihrer Fragen beantworten können.

Letztendlich ist das Erlernen von Vi wie das Erlernen anderer Fähigkeiten, es gibt keine Silberkugel, und Sie müssen akzeptieren, dass Sie für eine Weile weniger produktiv darin sind als Ihr aktueller Redakteur. Sag dir einfach immer wieder: "Andere Leute haben Vi gelernt und ich bin mindestens so schlau wie sie" (das sage ich mir sowieso :))

ben.prew
quelle
3

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

Auch ein Buch wie VI Editor Pocket Reference hilft sehr.

Aaron Digulla
quelle
3

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

Ich fand, dass das Durcharbeiten dazu beitrug, den anfänglichen Lernbuckel zu überwinden. Durch das Umstellen von Visual Studio auf ViEMU konnte ich meine VI-Kenntnisse verbessern.

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

David Laing
quelle
2

Sie können eine der originalen Happy Hacker-Tastaturen (keine Pfeiltasten) in die Hände bekommen und Ihre (drahtlose) Maus jedes Mal außer Reichweite platzieren, wenn Sie mit der Bearbeitung beginnen.

Garth Gilmour
quelle
2

Es ist einfach, eine große Liste von Befehlen / Verknüpfungen 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. nachdem Sie es ein oder zwei Wochen lang verwendet haben, fügen Sie Ihrem Repertoire ein weiteres hinzu.

Sie werden den langen Weg zurücklegen, um bestimmte Dinge kurzfristig zu erreichen - dies sind offensichtliche Möglichkeiten für neue Verknüpfungen zum Lernen.

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

Craig Hyatt
quelle
2

Mein Vorschlag 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 kann schneller sein als mit der Maus, aber wenn dies bei Ihnen nicht der Fall ist, funktioniert vi nicht.

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

Michael Cramer
quelle
2

Stellen Sie sich der Tatsache, dass es einen sofortigen Leistungseinbruch schafft. Wenn Sie ein neues Tool erlernen, müssen Sie in der Lage sein, etwas zu tun, das Sie mit anderen Tools 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 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 Lesung sehen Sie eine Funktion und sagen: "Ah ha, das hätte dieses Problem gelöst, das ich letzte Woche herausfinden wollte", und Sie werden es in Ihrem Gehirn ablegen. Lösungen im Zusammenhang mit realen Problemen, die Sie hatten, sind für Sie viel einfacher zu merken als zufällige Verknüpfungen.

Am Ende können Sie vim mit einer relativ kleinen Teilmenge seiner Funktionen verwenden, lassen Sie sich also nicht von all den Schnickschnack überwältigen. Denken Sie an alle Funktionen in Word. Verwenden 99% der Benutzer diese Funktionen?

Matt Price
quelle
2

ESC gg=GCode neu zu indieren und :retabTabulatoren in Leerzeichen oder Leerzeichen in Tabulatoren umzuwandeln, hat mich an vim gefesselt. Sie müssen also nicht gezwungen sein, es zu verwenden, sondern müssen nur lernen, wann es Ihnen helfen kann, Ihre Geschwindigkeit zu erhöhen.

Geh durch vimtutor.

Verwenden Sie vim für einfache Bearbeitungen wie Konfigurationsdateien oder HTML. Lernen Sie die Befehle nach Bedarf.

Durchsuchen Sie Google nach einem guten .vimrc, das 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. das Formatieren einiger Wörter in ein komplexes XML-Tag oder das Konvertieren einer CSV in eine HTML-Tabelle.

Eduardo Marinho
quelle
2

Vielleicht möchten Sie mit Cream beginnen. Cream beschreibt sich selbst als "eine 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. Aber aktivieren Sie den "Expertenmodus" und Sie haben die ganze Kraft und das Verhalten von vim.

Sie können Cream also als normalen Texteditor verwenden und dann mit dem "Expertenmodus" experimentieren, bis Sie sich wohl genug fühlen, um vollständig auf vim umzusteigen.

Seiten
quelle
2

Installieren gVim auf allen Plattformen, die Sie verwenden.

Führen Sie dann den vimtutor ( :help vimtutoroder vimtutordie Befehlszeile) durch.

Sehen Sie sich die folgende Vorlesung an und befolgen Sie deren Ratschläge: 7 Gewohnheiten für eine effektive Textbearbeitung 2.0

Ich sage, Sie möchten es definitiv für alle Ihre Bearbeitungen verwenden. Wenn Sie einen Produktivitätsverlust befürchten, nehmen Sie sich ein Wochenende Zeit, um ihn solide zu üben (ich habe dies einmal getan, um von QWERTY zu Dvorak zu wechseln, und meine Produktivität war bis Montag hoch genug, um danach daran festzuhalten).

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

user13060
quelle
1

Persönlich musste ich sicherstellen, dass ich die Vim-Tastenkombinationen (oder zumindest nahe genug) in mehreren Anwendungen verwenden konnte. Es war zu schwierig, die Art und Weise, wie ich Text bearbeitete, vollständig zu ändern, wenn ich den Editor wechselte, um den Vim-Bearbeitungsstil für das Muskelgedächtnis festzulegen.

In meinem Fall hat Viemu + vimperator den Trick gemacht.

tomasr
quelle
Ich verwende Komodo Edit, das über integrierte vi-Bindungen verfügt. Daher hat ein Wechsel zu diesen und eine Installation von Vimperator enorm geholfen. Nun, wenn ich nur rtorrent ändern könnte ...
Xiong Chiamiov