Vim für Anfänger


Wie jeder Entwickler entwickeln Sie sich ständig weiter. Sie lernen neue Technologien, indem Sie Bücher lesen, Online-Lektionen ansehen, einige Kurse besuchen und so weiter und so fort. Sie wissen, dass Sie nicht mehr wettbewerbsfähig sind, wenn Sie aufhören zu lernen. Aber haben Sie jemals über Ihre Leistung nachgedacht? Wie verbessern Sie das? Wenn Sie nicht wissen, wie Sie antworten sollen, begrüßen Sie uns unter dem Schnitt.


Level 0 - Erobere die Angst


Berühren Sie die Eingabe


In diesem Beitrag geht es nicht um das Schreiben von Berührungen . Dies ist jedoch die erste Antwort auf die obige Frage. Um den Rest dieses Artikels zu verstehen, müssen Sie die Touch-Eingabe verwalten.


Vim Intro



In diesem Beitrag werde ich Ihnen erklären, wie Sie Ihre Codierungsgeschwindigkeit verbessern, schneller im Code navigieren und Ihre Computermaus entfernen können. Wir werden über VIM (den besten Texteditor, der der Menschheit bekannt ist) sprechen. In ungeschickten Händen ist es nur ein umständlicher Texteditor, und niemand weiß, wie er ihn verlassen kann. Tatsächlich handelt es sich jedoch um einen hoch konfigurierbaren Texteditor (oder ein Plugin für fast jede IDE), mit dem Sie Ihren Code auf die effizienteste Weise verwalten können. VIM ist nicht nur ein Texteditor. Um nicht verrückt zu wirken, aber stellen Sie sich vor, Sie codieren nicht, Sie sprechen mit einem Computer. Ihr Codierungsprozess kann also im folgenden Monolog erstellt werden:


  • hier werde ich string text = file.ReadAll(); : string text = file.ReadAll();
  • Erstellen Sie eine leere Zeile über dieser
  • Verschieben Sie alle Zeilen mit TODO Kommentaren an das Ende dieser Datei
  • Navigieren Sie zur Funktion GetDirectoryFiles und kopieren Sie den gesamten Inhalt
  • Navigieren Sie zu dieser "if" -Anweisung und ersetzen Sie ihren Inhalt durch den Text aus dem Puffer
  • zentrieren Sie diese Linie in der Mitte des Bildschirms

Aber wenn du tanzen willst, musst du den Pfeifer bezahlen. Um mit VIM "sprechen" zu können, müssen Sie die Sprache lernen, die ihre eigenen Substantive, Verben, Adjektive usw. hat. Deshalb hat VIM keine Verknüpfungen, sondern Sätze (z. B. innere Tags ändern) . Wenn Sie die Grundlagen dieser Sprache lernen, können Sie Ihre eigenen Sätze kombinieren, je nachdem, was Sie tun werden. Danach werden Sie verstehen, dass Sie Ihre Maus nicht mehr brauchen.


Es ist nicht einfach, diese Sprache zu lernen, da alle ihre Komponenten zu Ihrer Gewohnheit werden sollten. Und es ist eine schmerzhafte Herausforderung für sich selbst, die mindestens 2 Wochen dauern kann. Überlegen Sie also zweimal, bevor Sie beginnen. Wenn Sie es jedoch überwinden, eröffnen Sie eine neue Welt der Codeverwaltung.


Der Hauptvorteil einer schnellen Dateneingabe ist nicht die Zeitersparnis bei der Dateneingabe pro Sekunde, sondern die erhöhte Wahrscheinlichkeit, dass Ihre Hände mit Ihrem Gehirn Schritt halten können.

Level 1 - Überleben


Das auffälligste Merkmal von VIM ist, dass es Modi hat. Wir können die vier wichtigsten definieren:


  • Normaler Modus - hier können Sie Textbefehle eingeben und navigieren. Um diesen Modus ESC drücken Sie ESC
  • Einfügemodus - In diesem Modus können Sie Text wie in anderen Editoren eingeben. Um diesen Modus aufzurufen, drücken Sie i
  • Visueller Modus - hier können Sie Text auswählen. Um diesen Modus aufzurufen, drücken Sie v
  • Befehlsmodus - Editorbefehle (wie Speichern, Öffnen usw.) . Um diesen Modus aufzurufen, drücken Sie :

Außerdem müssen Sie die grundlegende Navigation lernen, die in einem normalen Modus funktioniert. Vergessen Sie Pfeile, weil sie nur langsam funktionieren. Während Sie tippen, befinden sich Ihre Finger normalerweise in der Mitte Ihrer Tastatur. Linke Hand auf asdf und rechte Hand auf jkl; . Und normalerweise navigieren Sie in Ihrem Code nach oben / unten und selten nach links / rechts (später werden wir über die Navigation innerhalb der Linie sprechen). Die Navigation in VIM ist also wie folgt:


  • down - j (sieht aus wie ein Abwärtspfeil)
  • up - k
  • links - h
  • richtig - l

Um sich an die Grundbewegung zu gewöhnen, können Sie das Spiel VIM Adventures spielen . Das ist eigentlich alles, was Sie wissen müssen, um loszulegen. Installieren Sie also das vim-Plugin auf Ihrer bevorzugten IDE und üben Sie. Denken Sie daran, es wird schwer.



Stufe 2 - Vertrauen


Ok, Sie haben beschlossen, VIM zu lernen, und das ist großartig. Stellen wir sicher, dass Sie es richtig machen. Ihre Finger haben sich an die Navigation hjkl und Sie wissen auch, wie Sie den Modus von einem zum anderen wechseln können. Wenn es wahr ist, sind Sie bereit.


Einfügemodus erhalten


Sie wissen, dass Sie diesen Modus aufrufen können, indem Sie i auf einer Tastatur drücken. Nehmen wir an, i stehe für Einfügen als Text einfügen vor dem Cursor. Sie können auch a drücken, was für Anhängen als Anhängen von Text nach dem Cursor steht. Es ist einfach, diese Befehle durch Ändern der Groß- und Kleinschreibung zu intensivieren. Das Ergebnis wäre also Folgendes: I füge Text vor dem ersten Leerzeichen in die Zeile ein und A fügt Text am Ende der aktuellen Zeile hinzu.


Um Ihre zukünftige Arbeit angenehmer zu gestalten, müssen Sie den Befehl o der eine neue Leerzeile nach der aktuellen Zeile anfügt, und O , der dasselbe tut, jedoch vor der aktuellen Zeile.


Dies sind die am häufigsten verwendeten Befehle zum Umschalten des Einfügemodus in VIM. Wenn Sie sich an die hjkl Navigation anpassen, hjkl es einige Tage, bis Sie sich an diese Befehle gewöhnt haben. Je mehr Sie im Training schwitzen, desto weniger bluten Sie im Krieg.


Normaler Modus


Bevor wir anfangen, VIM-Sprache zu lernen, sollten wir auch unsere Navigationsfähigkeiten verbessern. In dieser Frage hilft uns der Befehl f (steht für find ). Dieser Befehl wird verwendet, um innerhalb der aktuellen Zeile zu navigieren. Sie geben f und einen Buchstaben ein, auf den Sie den Cursor bewegen möchten. fP bewegt den Cursor von der aktuellen Position zum ersten Auftreten des Buchstabens P. Sie können diesen Befehl auf F was dasselbe tut, aber die Suchrichtung ändert.


Vim Sprache


Jetzt ist es an der Zeit, ein verrückter Geek zu werden. Sie sollten im normalen Modus mit VIM "sprechen". Betrachten wir zunächst einige Konstruktionen der VIM-Sprache:


Substantive:
w - Wort
s - Satz
p - Absatz
b - (Block / Klammern)
t - tag
{ , } , ( , ) , [ , ] - Klammern
" , ' - Zitate


Verben:


  • v - visualisieren
  • c - ändern (Text löschen und VIM in den Einfügemodus schalten)
  • d - löschen und kopieren (Text löschen und VIM-Modus nicht ändern)
  • y - yank (bedeutet Kopie)

Adverbien:


  • i - drinnen
  • a - herum
  • t - bis
  • f - bis (einschließlich)

Achten Sie darauf, dass diese Befehle möglicherweise nicht wie erwartet von selbst funktionieren. Wenn Sie einen VIM-Satz erstellen, sollte dieser außerdem ausreichen und alle Konstruktionen sollten an ihrer Stelle sein. Andernfalls erhalten Sie ein anderes Ergebnis. Lassen Sie uns nun einige einfache VIM-Sätze als Beispiel erstellen:


  • ciw - innerhalb eines Wortes ändern - löscht das gesamte Wort unter dem Cursor und wechselt in den Einfügemodus, im Gegensatz zu cw dem ein Wort vom Cursor bis zum Ende dieses Wortes ciw .
  • cis - innerhalb des Satzes ändern.
  • ci" - in Klammer ändern" - löscht den gesamten Text zwischen "Klammern".
  • da} - um Klammer löschen} - löscht den gesamten Text in geschweiften Klammern einschließlich dieser.
  • vip - visuell innerhalb eines Absatzes - wählt alle Absätze aus.
  • ctp - bis p ändern - alles von hier bis zum Buchstaben p löschen.

Vim Satz Befehl


Um Ihre VIM-Sprache jetzt zu erweitern, empfehle ich Ihnen, den neuen VIM-Konstruktionsnummernmodifikator zu lernen. Betrachten wir den folgenden Code:


 function foo() { function bar() { // some code here } } 

Und Sie möchten den gesamten Code in {} der foo Funktion entfernen. Mit dem Zahlenmodifikator ist das ganz einfach. 2ci{ einfach 2ci{ - wechseln Sie die geschweiften Klammern zweimal.


Vim Satz Befehl


Der Zahlenmodifikator funktioniert nicht nur in Sätzen, sondern fast überall:


  • 5j - bewegt den Cursor 5 Mal nach unten.
  • 2fK - bewegt den Cursor zum zweiten Auftreten von Wurf k in der Zeile.
  • 2iHello <ESC> - 2 mal Hello einfügen.

Sei hartnäckig


Während Sie VIM lernen, werden Sie einige neue Sprachkonstruktionen finden und Ihre VIM-Sprache erweitern. Tag für Tag wäre es einfacher, mit VIM zu "sprechen". Alle Befehle und Sprachkonstruktionen sind eng miteinander verbunden und erstellt, um Ihre Leistung zu maximieren. Dies wird durch mehr als 20 Jahre VIM-Existenz bewiesen.


Level 3 - Mastering


Sie sind auf dem Weg, ein VIM-Master zu werden. Wie Sie vielleicht feststellen, ist es nicht so einfach, VIM zu erlernen. Wenn Sie mit VIM die Kraft in Ihren Händen spüren, werden Sie etwas mehr wollen, und darum geht es in diesem Teil. Alle Themen werden oberflächlich entdeckt, damit Sie entscheiden können, was Sie wollen.


VIM ist keine IDE


Ja, VIM ist keine IDE, obwohl Sie es so einrichten können, dass fast alle IDE-Funktionen ausgeführt werden . Ich bin sicher, dass Sie Ihr bevorzugtes Visual Studio oder WebStorm nicht verlassen werden. Deshalb habe ich die Liste der Plugins für Ihre IDE vorbereitet und nicht nur.


  • VSVim für VisualStudio
  • VS VIM für VSCode
  • IdeaVim für WebStorm, IntelliJ IDEA (und andere Jetbrains-Produkte)
  • Bei erhabenem Text ist der Vintage-Modus sofort einsatzbereit
  • Vim-Modus für Atom
  • XVim für Xcode
  • Hardcore! Wiederholen Sie dies nicht zu Hause! Google Chrome bietet auch Erweiterungen für die VIM-ähnliche Navigation. (Finden Sie es im Chrome Store)

Beachten Sie jedoch, dass die maximale Leistung nur mit VIM erzielt werden kann. Grundsätzlich eignet es sich für kleine js / html / css-Projekte, zum Bearbeiten von Konfigurationsdateien oder einfach als Ersatz für Ihren Notepad ++ :)


Vim Plugins


VIM hat Tausende von Plugins für jede Laune. Hier finden Sie fast alles, was Sie wollen, vom Datei-Explorer über die Git-Integration bis hin zu den Build-Systemen.


Eines meiner Lieblings-Plugins ist EasyMotion . Es wurde erstellt, um Ihre Navigation in VIM zu beschleunigen. EasyMotion ist sehr anspruchsvoll und tief in die VIM-Philosophie integriert. Wenn Sie beispielsweise nur zu einer bestimmten Zeile hinter der aktuellen navigieren möchten, können Sie dies tun, indem Sie die Taste j mehrmals drücken. Im Vergleich dazu können Sie mit EasyMotion die Führungstaste (in meinem Fall TAB ) und j drücken, um alle dahinter liegenden Zeilen mit unterschiedlichen Buchstaben hervorzuheben. Sie müssen nur noch den Buchstaben drücken, der die gewünschte Zeile darstellt.


EasyMotion


In meinem Fall habe ich die TAB Taste und ju gedrückt, um zur entsprechenden Zeile zu navigieren. Es war das einfachste Beispiel und wie üblich können Sie in der Welt von VIM fast jeden Befehl entsprechend Ihren Anforderungen erstellen.


Zuordnungen


Diese Funktion habe ich separat betrachtet. Sie können Mapping als Tastenkombinationen für alle Modi betrachten. Das heißt, Sie können ein Muster binden, um einige Aktionen in verschiedenen Modi auszuführen.


Schauen wir uns also das einfache und reale Beispiel an. Fast jede Person, die in VIM arbeitet, ändert den Modus nicht durch Einfügen von ESC von Einfügen auf Normal. Wir tun dies, indem wir jj oder jk drücken, da wir das folgende Mapping haben :imap jj < ESC >. imap steht für Insert Mode Mapping und bedeutet, dass es nur im Insert Mode funktioniert.


Sie können alles zuordnen, was Sie tun möchten, und dies spart in Zukunft Zeit. Lesen Sie hier mehr über Mapping.


Vim-Funktionen


Neben den oben genannten Funktionen gibt es in VIM noch viel zu lernen. Sie sollten auf jeden Fall die folgende Liste beachten:


  • globale Befehle
  • suchen und ersetzen
  • Makros und Register
  • Puffer
  • Registerkarten
  • Einkerbungen und Falten
  • Autobefehle

Sie können in anderen Entwicklungstools vorhanden sein, dies ist jedoch VIM. Tag für Tag werden Sie sich fragen, wie brillant all diese Dinge aufgebaut sind. Überprüfen Sie es, um sicherzugehen.


Konfiguration


Es gibt viele VIM-Einstellungen, die irgendwo gespeichert werden müssen, um für alle Editoren mit VIM-Plugin die gleichen Einstellungen zu verwenden. Und dies liegt in der Verantwortung der .vimrc-Datei. In Windows 10 befindet sich diese Datei standardmäßig unter C:\Users\%username% . Hier können Sie alle Zuordnungen, automatischen Befehle, Plugins, Farbschemata und alle anderen Einstellungen einrichten. Ich habe einen ziemlich guten Artikel darüber gefunden, wie Sie Ihre eigene .vimrc-Datei einrichten, damit Sie selbst üben können.


Hinweis: Fügen Sie keine Zeilen in Ihre .vimrc ein, die Sie nicht verstehen

Tolle VIM-Kurse:



Meister Yoda


Möge das VIM mit Ihnen sein.

Source: https://habr.com/ru/post/de440130/


All Articles