VIM -Editor -Grundlagen in Linux

VIM -Editor -Grundlagen in Linux

Vim braucht keine Präsentationen: Es ist wahrscheinlich der beliebteste Texteditor von Systemadministratoren, auch aufgrund der Tatsache, dass es sich um einen Klon und eine Verbesserung des ursprünglichen VI handelt, der standardmäßig in praktisch allen Linux- und Unix -basierten Betriebssystemen enthalten ist. Vim kann zunächst ziemlich einschüchternd sein und hat eine steile Lernkurve; Das Erlernen des Gebrauchs kann jedoch unsere Produktivität wirklich steigern. In diesem Artikel werden wir die VIM -Grundlagen lernen.

In diesem Tutorial lernen Sie:

  • So installieren Sie VIM
  • Warum Vim ein "modal" Texteditor ist und was sind die VIM -Modi
  • Wie man vim aussieht und anfühlt mit der ~/.vimrc Konfigurationsdatei

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Verteilung unabhängig
Software Vim
Andere Keine weiteren Anforderungen erforderlich
Konventionen # - Erfordert, dass gegebene Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden können sudo Befehl
US

Installation

Sie können sicher sein, dass VIM, wenn sie standardmäßig nicht installiert wird, in Ihren bevorzugten Vertriebsrepositories verfügbar ist, um es zu installieren, nur um Ihren bevorzugten Paketmanager zu verwenden. Auf Debian und Debian basiert
Verteilungen unter den anderen können wir verwenden apt-get:

$ sudo apt-Get Update && sudo apt-Get install Vim 

Auf Fedora und allgemeiner auf all der Red Hat -Familie von Verteilungen können wir das verwenden DNF Paketmanager, um die Aufgabe auszuführen:

$ sudo dnf install vim 

Laufen auf Arch Linux? In diesem Fall, da Vim in der enthalten ist Extra Repository, installieren Sie es nur darum, den folgenden Befehl auszuführen:

$ sudo pacman -s vim 

Ein "modal" Texteditor

Sie werden feststellen, dass Vim sich ziemlich von den Textredakteuren unterscheidet, an die Sie möglicherweise gewöhnt sind. Das liegt daran, dass es a ist modal Texteditor. Was bedeutet das? Vim hat eine Reihe verschiedener Arbeitsmodi:

  • Normaler Modus
  • Modus einfügen
  • Visueller Modus
  • Befehlsmodus

Lassen Sie uns sie kurz sehen.

Normaler Modus

Der normal Modus ist der Standardwert. Wenn in normal Modus können wir leicht navigieren und Änderungen an einem Dokument vornehmen. Lassen Sie uns einige Beispiele sehen. Angenommen, wir haben den folgenden Text im Herausgeber geöffnet:

Wie Sie sehen können, ist der Cursor zu Beginn der ersten Zeile positioniert. Angenommen, wir wollen es zu Beginn des zweiten Wortes bewegen (in diesem Fall „Ringe“). Alles was wir tun müssen, ist, die zu drücken w Schlüssel (kurz für Wort); Dies wird (rechts) zum Beginn eines Wortes voranschreiten:



Die „inverse“ Bewegung wird durch Drücken der B Schlüssel - Diese Aktion verschiebt den Cursor zum Beginn des vorherigen Wortes.

Was ist, wenn wir die Bewegung wiederholen wollen? X Anzahl? Wir müssen nur die Anzahl der Bewegungen eingeben, die wir ausführen möchten, bevor wir die Taste drücken, die der Bewegung entspricht, die wir machen möchten. Um zum Beispiel den Cursor zwei Wörter voranzutreiben, würden wir drücken 2W. Angenommen, der Cursor befindet sich derzeit auf dem Wort „Ringe“ in der ersten Zeile, würden wir dieses Ergebnis erhalten:

Um den Cursor auf den Beginn der aktuellen Linie zu bewegen, können wir die drücken 0 Taste; Die $ Durch den Schlüssel werden wir den gegenteiligen Effekt erhalten, sodass der Cursor bis zum Ende der Linie verschoben wird.

Um in die letzte Zeile eines geöffneten Dokuments zu gelangen, können wir drücken G, Während wir in die erste Zeile umziehen können, können wir drücken gg.

Die oben genannten sind nur einige Beispiele dafür, wie wir beim Dokument leicht durch das Dokument navigieren können normal Modus. In der folgenden Tabelle sehen wir eine kleine Anzahl von Schlüssel, an die wir uns vielleicht erinnern möchten, und deren Effekt:

TASTE WIRKUNG
H Bewegen Sie den Cursor nach links
J Bewegen Sie den Cursor nach unten
k Bewegen Sie den Cursor nach oben
l Bewegen Sie den Cursor nach rechts
w Bewegen Sie sich zum Beginn eines Wortes
W Gehen Sie vorwärts zum Beginn eines Wortes (Interpunktion als Teil des Wortes)
B Bewegen Sie sich zurück zum Beginn eines Wortes
B Bewegen Sie sich rückwärts zum Beginn eines Wortes (Interpunktion als Teil des Wortes)
e Bewegen Sie sich bis zum Ende eines Wortes
E Bewegen Sie sich bis zum Ende eines Wortes (Interpunktion als Teil des Wortes)
0 Wechseln Sie zum Beginn der Linie
$ Bewegen Sie sich bis zum Ende der Linie
gg Gehen Sie in die erste Zeile des Dokuments
G Wechseln Sie in die letzte Zeile des Dokuments
f char Gehen Sie zum ersten Ereignis des angegebenen Charakters
A Bewegen Sie sich am Ende der Zeile vorbei und geben Sie den „Einfügenmodus ein.“

Wenn in normal Modus Wir sind nicht darauf beschränkt, nur Bewegungen auszuführen, es gibt auch Betreiber das lassen uns einige Aktionen ausführen, zum Beispiel als, zum Beispiel D (löschen) oder C (ändern). Diese Operatoren, kombiniert mit Bewegungen, führen wir Massenaktionen aus.

Lassen Sie uns ein Beispiel sehen: Wir wissen, dass die w Der Schlüssel bewegt den Cursor zum Beginn des nächsten Wortes; Wenn wir es mit dem kombinieren D Operator können wir ein ganzes Wort mit nur einem Befehl löschen. Angenommen, der Cursor steht am Anfang der ersten Zeile unseres Textes, wenn wir drücken dw Wir würden das folgende Ergebnis erhalten:

Wie Sie sehen können, wurde das erste Wort der Zeile („drei“) entfernt. Auf die gleiche Weise konnten wir Text von der aktuellen Cursorposition bis zum Ende der Linie löschen, indem wir drücken d $, usw.

Der Modus "Einfügen" (und "Ersetzen")

Der Einfügung Der Modus ist praktisch der Standardarbeitsmodus aller häufigsten Textredakteure. In diesem Modus können wir Text wie normalerweise mit anderen Redakteuren einfügen. Wie geben wir diesen Modus ein?? Bei der Arbeit in normal Der Modus können wir beispielsweise einen der folgenden Schlüssel drücken:

TASTE WIRKUNG
ich Geben Sie den Text vor dem Cursor ein
ICH Fügen Sie den Text am Anfang der Zeile ein
A Fügen Sie den Text nach dem Cursor ein
A Texte am Ende einer Zeile anhängen


Wie man den inversen Prozess durchführt und von Einfügung Zu normal Modus? Alles was wir tun müssen, ist, die zu drücken Schlüssel oder .

Der ersetzen Modus ist wirklich ähnlich wie Einfügung Modus, der einzige Unterschied besteht darin. Wir können eingeben ersetzen Modus mit der Verwendung der R wenn in
normal Modus.

Der „visuelle“ Modus

Im „visuellen“ Modus können wir einen Teil des Textes auswählen und einige Operationen darauf ausführen. Der visuelle Modus kann auf drei verschiedenen Ebenen funktionieren:

  • Charakter
  • Linie
  • Block

„Charakterweit“ eingeben visuell Modus, wenn in normal Modus können wir die drücken v Taste; Um den virtuellen Modus "Linienwise" zu aktivieren, können wir stattdessen verwenden V (Großbuchstaben). Um schließlich den visuellen Modus "blockisch" einzugeben, können wir drücken .

Vim visuelle Linie

Im obigen Bild sehen Sie, wie der Editor aussieht, wenn der visuelle Modus „Zeilen“ aktiviert ist. Die gleichen Schlüssel, die wir oben diskutiert haben, können verwendet werden, um zwischen visuellen Modi zu wechseln. Wenn wir uns bereits in einem bestimmten visuellen Modus befinden und die Taste, die sie aktiviert normal Modus:

Aktueller visueller Modus Taste Wirkung
Charakter in Bezug auf v Wechseln Sie in den normalen Modus
Charakter in Bezug auf V Wechseln Sie in den visuellen Modus der Linie
Charakter in Bezug auf \ Wechseln Sie in den blockeigenen visuellen Modus
Linie v Wechseln Sie in den visuellen Modus des Charakters
Linie V Wechseln Sie in den normalen Modus
Linie \ Wechseln Sie in den blockeigenen visuellen Modus
blockig v Wechseln Sie in den visuellen Modus des Charakters
blockig V Wechseln Sie in den visuellen Modus der Linie
blockig \ Wechseln Sie in den normalen Modus

Die Bewegungsschlüssel, die wir im normalen Modus gesehen haben, können auch in verwendet werden Visueller Modus. Zum Beispiel, wenn wir im charakterischen visuellen Modus arbeiten, und wir möchten von einem bestimmten Punkt bis zum ersten Ereignis eines Buchstabens auswählen, den wir verwenden können
f char.

Wenn ein Teil des Textes ausgewählt ist, können wir ihn beispielsweise durch Drücken des D Schlüsselwort oder kopieren Sie es mit Verwendung y.

Der "Befehlszeilenmodus"

Um .. zu betreten Befehlszeilenmodus Wir können die drücken : Schlüssel oder / Um eine Textsuche im normalen Modus zu beginnen. Wenn wir uns in diesem Modus befinden, können wir Befehle eingeben, die nach dem Drücken ausgeführt werden sollen (die 'Rückkehr' -Staste). Einer der einfachsten Befehl, die wir ausführen können, wenn wir in Befehlszeilenmodus Ist:

:Hilfe 

Wenn der Befehl ausgeführt wird, wird ein neuer Puffer geöffnet, das auf der Seite der VIM -Haupthilfe steht:

Die VIM -Hilfeseite In den neuesten Versionen von VIM können wir die verwenden Terminal Befehl zum Öffnen eines Terminalemulators direkt in den Texteditor:
:Terminal 

Das Ergebnis der Befehlsausführung ist:

Das VIM -Einbettungsanschluss

Wie wir bereits sagten, können wir eine Textsuche durchführen, um zu drücken / und geben Sie den Text ein, den wir im Dokument finden möchten. Standardmäßig ist die Suche in Fallempfindlichkeit (dies kann über die VIM-Konfigurationsdatei mit der VIM-Konfigurationsdatei geändert werden Ignorecase einstellen Richtlinie). Angenommen, wir möchten das Wort „Ring“ im Text unseres Beispiels finden. Wir schreiben den folgenden Befehl, indem wir auf "Enter" gedrückt werden:

/Ring 

Um die hervorgehobenen Ergebnisse zu durchlaufen, können wir drücken N, und um das Hervorheben der Wörter zu entfernen, können wir die ausführen noh Befehl:

: Noh 

Wir können benutzen Befehlszeilenmodus Auch um einen Textersatz durchzuführen. Nehmen wir zum Beispiel an, wir möchten alle Vorkommen von „Ring“ durch „Juwel“ ersetzen. Was wir tun würden, in diesem Fall ist es, die zu verwenden Ersatz Befehl: S. Der
Befehl, den wir ausführen müssten, ist:

:%s/ring/juwel/g 

Der % Symbol, das wir vor dem Befehl verwendet haben, damit die Operation im gesamten Dokument durchgeführt wird, während der G Angehängt nach der Substitution wird verwendet, um die Substitution bei allen auf einer Linie gefundenen Ereignissen durchzuführen (gegenüber nur der ersten).

Wenn wir das verwenden Ersatz Befehl Wir können auch andere "Modifikatoren" verwenden. Zum Beispiel, wenn wir a anhängen C Nach dem Substitutionsmuster werden wir aufgefordert, jede Substitution zu bestätigen ich, Stattdessen wird der Austausch machen Fall-unempfindlich.

Der Wirkungsbereich eines Befehls kann auf bestimmte Zeilen beschränkt werden. Um den Textersatz nur für Zeilen vom ersten bis zum sechsten (inklusiven) Dokument auszuführen, würden wir schreiben:

: 1,6s/ring/juwel/g 

Der gleiche Bereich kann zum Beispiel mit dem verwendet werden D (Löschen) Befehl, um die oben genannten Zeilen zu löschen:

: 1,6d 

Wenn in Befehl Linienmodus können wir auch aufrufen extern Programme in der Shell: Wir müssen nur solche Befehle mit dem vorbereiten ! Symbol. Um beispielsweise die (nicht versteckten) Dateien im aktuellen Arbeitsverzeichnis zu betrachten, könnten wir die verwenden ls -l Befehl:

:!ls -l 

Wir würden das folgende Ergebnis erhalten:

Insgesamt 36 DRWXR-XR-X. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Desktop DRWXR-XR-X. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Dokumente DRWXR-XR-X. 2 EGDOC EGDOC 4096 2. November 10:37 Downloads -rw-r- r--. 1 EGDOC EGDOC 373 Nov 3 11:30 LOTR.txt drwxr-xr-x. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Musik DRWXR-XR-X. 2 EGDOC EGDOC 4096 Nov 4 08:19 Bilder DRWXR-XR-X. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Public DRWXR-XR-X. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Vorlagen DRWXR-XR-X. 2 EGDOC EGDOC 4096 31. Oktober 12:45 Videos drücken 

Wie von der Nachricht vorgeschlagen, müssen wir zum Redakteur zum Herausgeber zurückkehren EINGEBEN. Dies sind nur wenige, grundlegende Beispiele für die Befehle, die wir in VIM verwenden können.

Anpassen von Vim

Vim Look and Feel kann über seine Konfigurationsdatei angepasst werden: ~/.vimrc. Standardmäßig ist die Editorschnittstelle wirklich minimal: Nicht einmal Zeilennummern werden angezeigt! Lassen Sie dies das erste sein, was wir ändern werden.

Zeilennummern anzeigen

Wir öffnen die Konfigurationsdatei und fügen die folgende Anweisung darin ein:

Nummer setzen 

Um die Auswirkungen der von uns vorgenommenen Änderungen zu erkennen, sollten wir vim schließen und wiedereröffnen. Wir können jedoch auch die ausstellen : so ~//.vimrc Befehl, um die Konfigurationsdatei zu beziehen und die Änderungen sofort wirksam zu machen. Aufgrund der
Wir verwendeten Richtlinie, Zeilennummern werden jetzt angezeigt:

Markieren Sie eine Spalte und Grenzlinienlänge

Eine weitere gemeinsame Funktion, die wir verwenden möchten, insbesondere beim Schreiben von Code, besteht darin, eine bestimmte Spalte hervorzuheben. Beim Schreiben eines Python -Programms oder eines Shell -Skripts beispielsweise möchten wir normalerweise nicht das überschreiten 80 Spalte; Um die Spalte hervorzuheben, müssen wir die folgende Anweisung in die Konfigurationsdatei hinzufügen:

Setzen Sie ColorColumn = 80 

Im Bild unten sehen Sie das Ergebnis der Änderung. Die von uns angegebene Spalte wird jetzt hervorgehoben:

Wenn wir tatsächlich eine Regel über die maximale Anzahl von Zeichen durchsetzen möchten, die in eine Zeile eingefügt werden kann, müssen wir die verwenden Textbreite Richtlinie stattdessen:

Setzen Sie Textbreite = 79 

Aufgrund der obigen Änderung wird ein neues Wort nicht in die angegebene Anzahl von Zeichen passt, es wird automatisch in eine neue Zeile eingefügt.

Verwenden Sie Leerzeichen anstelle von Registerkarten

Eine weitere weit verbreitete Änderung, die wir möglicherweise durchführen möchten, besteht darin, eine bestimmte Anzahl von Räumen anstelle von a zu verwenden TAB Zeichen, wenn die entsprechende Taste auf der Tastatur gedrückt wird. Um das gewünschte Setup zu erreichen, möchten wir die folgenden Anweisungen verwenden:

Setzen Sie tabStop = 2 Set SoftAbStop = 2 Set EXPDTAB SET SHISTWIDTH = 2 

Im obigen Setup setzen wir die Tabulator Richtlinie, um die Größe eines „Real“ festzulegen TAB Charakter. Der Softtabstop, Die Richtlinie wird stattdessen verwendet, um die Anzahl der Räume anzugeben, die zum Ersetzen von a verwendet werden sollten TAB wenn das expandtab Richtlinie wird verwendet. In diesem Fall drücken wir jedes Mal die Tab Taste auf der Tastatur, VIM wird die Menge an Späden einfügen, mit denen wir angegeben sind Softtabstop. Endlich, das Schichtwitt Die Option wird verwendet, um die für die automatische Einverständung verwendete Einrückungsstufe und für Umschaltbefehle anzugeben.

Filetyp-spezifische Einstellungen

Was ist, wenn wir einige Einstellungen angeben möchten, die nur auf bestimmte Art von Dateien angewendet werden sollen? In diesem Fall müssen wir den Einbau aktivieren Filetyp -Plugin. Zu diesem Zweck fügen wir die folgende Zeile an die Konfigurationsdatei hinzu:

Filetyp -Plugin ein 

Zu diesem Zeitpunkt im Inneren der ~/.vim/After/ftplugin Verzeichnis (wir müssen es erstellen, wenn es noch nicht vorhanden ist), müssen wir eine nach dem FileType benannte Datei erstellen, für die wir Einstellungen angeben möchten, und die „verwenden“.Vim ”Erweiterung.

Um beispielsweise Einstellungen für Python -Dateien anzugeben, würden wir die erstellen ~/.Vim/After/ftplugin/Python.Vim Datei filen und unsere Anweisungen in sich stellen. Das einzige, was empfohlen wird, ist, die zu verwenden setLocal Anweisung in der Datei statt von Satz, Um die Änderungen nur für den geöffneten Puffer und nicht global gültig zu machen. Sagen Sie zum Beispiel, wir möchten a ersetzen TAB Charakter mit 4 Räume nur in Python -Skripten. Im ~/.Vim/After/ftplugin/Python.Vim Datei, die wir schreiben würden:

setLocal softtabstop = 4 setLocal ShiftWidth = 4 

Was wir hier verwendet haben, ist nur eine sehr sehr kleine Teilmenge der Optionen, die wir in der VIM -Konfigurationsdatei verwenden können, um das Erscheinungsbild des Editors zu optimieren. Was wir hier zeigen wollen, ist der Grundmechanismus.

Schlussfolgerungen

In diesem Artikel haben wir unseren ersten Ansatz mit dem wahrscheinlich berühmtesten und geliebten Texteditor unter Linux- und Unix-basierten Plattformen begonnen: Vim. Wir haben gesehen, wie Vim als Klon des Originals geschaffen wurde Vi Editor, der standardmäßig bei fast allen Verteilungen installiert ist, haben wir gesehen, warum es als a genannt wird modal Texteditor und welche Modi, die wir verwenden können.

Schließlich haben wir gesehen ~/.vimrc Konfigurationsdatei. Wir kratzen kaum an der Oberfläche dessen, was wir durch die Verwendung von VIM erreichen können, da dies als erster Schrittführer in die VIM -Welt gedacht war. Wir werden in zukünftigen Tutorials über bestimmte Funktionen sprechen. Bleiben Sie dran!

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • So klonen Sie ein Linux -System
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Mastering -Bash -Skriptschleifen beherrschen
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Klonpartition unter Linux
  • Linux -Download
  • Erweiterte Protokollierung und Prüfung unter Linux
  • Wie man Kali Linux und Windows 10 Dual -Boot -Start hat