Wie lerne ich vim auf hohem Niveau? [geschlossen]

77

Ich weiß, dass vim (wie auch emacs) ein sehr leistungsfähiger Editor für Programmierer ist, solange Sie wissen, wie man es benutzt, seine Verknüpfungen und so weiter. Welche Schritte kann ich unternehmen und welche Tutorials kann ich lesen, um ein fortgeschrittener VIM-Benutzer zu werden?

Zango
quelle
Sie können sich hier auf das Community-Wiki beziehen - ubuntu.stackexchange.com/questions/804/…
myusuf3

Antworten:

116

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, verbessert das Tippen durch Berühren Ihre Programmierung (fragen Sie Steve Yegge ), indem Sie die reibungsfreie Überwachung der Verknüpfungen sicherstellen . Es gibt eine Menge von Software , die kann helfen Sie verbessern Ihre Eingabe.

Schritt 1: Verwenden Sie die Tastatureinstellungen, um die Feststelltaste und die Escape-Taste auszutauschen - ernsthaft, wie oft verwenden Sie die Feststelltaste? Mit vim verwenden Sie Escape die ganze Zeit, und es macht einen großen Unterschied, wenn es in der Startzeile verfügbar ist. Gehen Sie mit dem Standard-Ubuntu-Desktop durch die Menüs: System -> Einstellungen -> Tastatur -> Registerkarte Layouts. Klicken Sie dann auf die Schaltfläche "Layoutoptionen", klicken Sie auf das Dreieck neben "Verhalten der Feststelltaste" und wählen Sie "ESC und Feststelltaste tauschen". (Beachten Sie, wie sich dies geändert hat - siehe hierzu Anleitung in 14.04 .

Schritt 2: 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 3: Verwenden Sie vim überall. In dieser Frage von StackOverflow finden Sie Tipps und Links zur Verwendung von vim- und vi-Tastenkombinationen in der Befehlszeile, in Ihrem Webbrowser, zum Erstellen von E-Mails in Ihrer IDE ... Sie müssen vim verwenden, um die Tastenkombinationen in Ihren Muskelspeicher einzubetten .

Schritt 4: Erfahren Sie mehr über vim. Sie haben nur die Oberfläche mit vimtutor zerkratzt. Du kannst

Oft ein bisschen zu lernen, wäre mein Rat - es gibt so viel da draußen, dass das Festhalten an mundgerechten Stücken der beste Weg ist, das Wissen festzuhalten.

Schritt 5: Profit :)

Hamish Downer
quelle
10
kann nicht genug abstimmen :)
tutuca
Vielen Dank für die beste Antwort! Zum Glück bin ich schon Tipper. :) Also, ich werde die nächsten Schritte befolgen ...
Zango
1
Schritt 2 ist so wichtig. Vim von einem Wesen, das mir weh tut, zu meinem Lieblingseditor geändert.
Matthew
2
Ich möchte Schritt 3 drücken, Sie können sogar (g) vim unter Windows oder Mac verwenden oder ... (siehe vim.org/download.php ) Wenn Sie nur einen Editor verwenden, werden Sie mit diesem besser vertraut.
Ddeimeke
Machen Sie die Feststelltaste zu einem zusätzlichen Kontrollelement (oder tauschen Sie sie aus). Vim verwendet viel mehr Strg als Escape (ich mache sowieso kj, um zu entkommen), aber diese praktische, einfachere Steuertaste ist auch in jedem anderen Programm nützlich, das ich verwende.
22

Das "vimtutor" -Formularpaket "vim" ist wahrscheinlich der beste Startpunkt.

Andres
quelle
14

Zwei Dinge:

  1. Lerne das Tippen mit der Berührung. Es gibt wirklich keinen anderen Weg. Binden Sie dann ESC an ";" So müssen Sie Ihre Startreihe nie verlassen:inoremap ;; <esc>

  2. Suchen Github für andere Menschen .vimrcs

Und ein dritter: VimCasts

Loevborg
quelle
6

Das hört sich albern an, aber lernen Sie den Hilfebefehl von vim kennen. Das Hilfesystem ist bemerkenswert intuitiv und einfach zu navigieren.

Hilfe erhalten Sie durch Eingabe :help. Sie können sich über ein bestimmtes Thema informieren, indem Sie dieses in die Befehlszeile einfügen (z :help insert. B. ). Sie können durch Themen blättern, indem Sie die Tabulatortaste drücken, nachdem Sie ein oder mehrere Zeichen des Themas eingegeben haben.

Die Hilfe ist mit Hyperlinks versehen, die entweder fett oder farbig gekennzeichnet sind. Sie können Links folgen, indem Sie <Strg -]> drücken, wenn sich Ihr Cursor darauf befindet, und <Strg-t>, um zurückzukehren. Geben Sie ein, um die Hilfe zu beenden :q.

Erigami
quelle
1
Es enthält zwei vollständige Handbücher: Benutzerhandbuch und Referenzhandbuch. Sie brauchen nichts weiter als vimtutor und: help, um ein Vim-Experte zu werden.
Marius Gedminas
5

Einige gute Antworten. Versuchen Sie auf jeden Fall, es in das tägliche Leben zu integrieren, und stellen Sie sicher, dass Sie nicht versuchen, Ihr Gehirn mit zu viel auf einmal zu überfluten. Es gibt einfach zu viel zu tun, um alles in einer Woche zu lernen.

Beginnen Sie zunächst mit ein / zwei neuen Befehlen / Tasten pro Woche. Verwenden Sie sie und vertiefen Sie sie in Ihr Gehirn. Sie möchten nicht den ganzen Tag auf ein Spickzettel verweisen müssen.

Ich habe ein Beispiel-Setup für die VIM-Konfiguration, das wirklich gut dokumentiert ist und das ich für Leute veröffentliche: http://github.com/mitechie/pyvim

Kopiere / füge es aber nicht einfach ein. Stellen Sie sicher, dass Sie verstehen, was in Ihrer vim-Konfiguration vor sich geht, damit Sie nicht vergessen oder missverstehen, was es für Sie tut.

und ich habe angefangen, einige vim Screencasts zu machen: http://lococast.net/archives/111

Rick
quelle
4

PeepCodes Smash in VIM 1 & 2 sind eine großartige Ressource. Sie können sich auch Rob Conerys Blog ansehen . Dort stehen einige gute VIM-bezogene Informationen / Blogs zur Verfügung.

JPrescottSanders
quelle
3

Ich weiß, dass ich für diese Antwort möglicherweise ein negatives Feedback bekomme, da dies vim Fans und Benutzern schaden kann: Fragen Sie sich zuerst, was Sie tun möchten. Und nur wenn vim das beste Werkzeug für diese spezielle Aufgabe ist, tun Sie, was Ihnen alle anderen Antworten sagen.

Oder um es mit mehr Bildern zu sagen: Sie können versuchen, mit einem Hammer doppelt so schnell oder gut zu werden wie jetzt. Aber je nach Situation kann ein Schraubenzieher mehr helfen als der Hammer. :)

Bananeweizen
quelle
4
Ja, als Vim-Fan muss ich sagen, dass Vim mehr ist als ein Hammer. Es kann für jeden von Sysadmin, Datenbankadministrator, Programmierer (in jeder Sprache) und sogar für einfache Texteditoren hilfreich sein. Es ist aus einem bestimmten Grund standardmäßig auf jedem System installiert, und ich weiß nicht, ob es ein gutes Argument dafür gibt, "ob Sie es wirklich wissen müssen". Darüber hinaus hat der Benutzer dies explizit gepostet, um Wege / Hilfe zum Fortschritt zu finden ihr Wissen und ihre Erfahrung.
Rick
1
Ich stimme dir vollkommen zu!
Ddeimeke
2

Ich habe Vim noch nicht wirklich gelernt, aber ich denke, dass es weniger schwierig sein wird, wenn ich mit der Pentadactyl-Erweiterung für Firefox surfe.

Beliebige Textfelder und die Befehlszeile können mit Strg + T wie im normalen Vim-Modus behandelt werden (oder automatisch, wenn Sie eine Einstellung ändern). Hier ist es jedoch, wo es im Moment für mich herunterfällt, da viele Aktionen als global interpretiert werden, z. B. der Versuch, mit p einzufügen, öffnet eine URL mit dem Text, der sich im Puffer befindet, und der Versuch, Text mit r zu überschreiben, lädt die Seite neu. Sie können das Textfeld jedoch in Gvim öffnen, indem Sie die Strg-Taste I drücken. Dies ist also kein wirkliches Problem.

Ein weiteres Problem ist, dass es Websites wie Google Mail oder Remember the Milk schwieriger macht, sie zu verwenden, da Sie noch einen anderen Modus haben, mit dem Sie fertig werden müssen.

daithib8
quelle
2

Lesen Sie die Antworten auf Anfängertipps, um Vim von Programmers SE zu lernen

Um meine Antwort auf diese Frage zu wiederholen:


Ich habe viel aus dem O'Reilly-Buch "Learning the Vi and Vim Editors" gelernt . Es ist das beste Vim-Buch, das ich gelesen habe.

Ich würde auch empfehlen, Folgendes zu überprüfen:

Jeromy Anglim
quelle