GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die 20 besten Linux-Vim-Befehle zur Steigerung der Produktivität

VIM oder das Vi Improved Texteditor ist einer der fortschrittlichsten verfügbaren Texteditoren. Lassen Sie uns die 20 besten Linux-Vim-Befehle lernen, die Sie kennen müssen, um ein erstaunliches Maß an Produktivität zu erreichen.

Denken Sie daran, dass der VIM-Texteditor eine ziemlich steile Lernkurve hat. Aber sobald Sie sich die Zeit genommen haben, sich an die Befehle zu gewöhnen, werden Sie eine unübertroffene Produktivität bei Ihren täglichen Aufgaben erreichen, die die Arbeit mit Text erfordern (perfekter Texteditor für Programmierer!)

Sehr geekig, nicht wahr? Lassen Sie uns den Editor und die darin enthaltenen Befehle verstehen.

Linux-Vim-Befehle für grundlegende Navigation

Bevor wir beginnen, wollen wir uns ansehen, wie wir im VIM-Editor navigieren können. VIM ist ein tastaturfokussierter Editor, daher müssen Sie sich daran gewöhnen, die Maus für grundlegende Navigationsaufgaben nicht zu berühren.

Schlüssel Aktion
Pfeiltasten
hjkl
Grundlegende Cursorbewegung wie gewohnt
B b
Ww
Wortweise vor und zurück – Cursor am Wortanfang
G Zu einer bestimmten Zeilennummer springen
Strg+u
Strg+d
Ähnlich der Bild-auf/ab-Taste, während der Cursor auf dem Bildschirm bleibt.
e Ein Wort vorwärts – Cursor am Ende des Wortes
#
*
Suchen Sie das Wort innerhalb des Dokuments, auf dem sich Ihr Cursor gerade befindet.
n
N
Wiederholt den letzten fund Befehl

Geek Out mit den besten Linux-Vim-Befehlen und -Funktionen

Der VIM-Editor ist nicht nur flexibel und umfassend, sondern auch sehr intuitiv und „intelligent“, wenn es darum geht, den geschriebenen Code zu verstehen.

Aber wenn es Ihnen nichts ausmacht, Ihre Zeit damit zu verbringen, den Mauszeiger zu bewegen, auf Dinge zu zeigen und zu klicken, gibt es keinen Grund für Sie, VIM in Betracht zu ziehen. Dieser Texteditor ist für Programmierer und Geeks, die wirklich gerne alles geben, die Maus für immer ignorieren und alles mit der Tastatur erledigen.

Die Sache mit VIM ist, wenn es mit einer Maus in anderen Texteditoren gemacht werden kann, kann es mit nur der Tastatur in VIM gemacht werden.

1. Mit mehreren Dateien in Vim arbeiten

Die meisten von uns Programmierern sind es gewohnt, mit mehreren Dateien gleichzeitig zu arbeiten. Unsere GUI-Texteditoren geben uns Registerkarten, die es ermöglichen, zwischen Dateien zu wechseln, während alle gleichzeitig geöffnet bleiben. Auch wenn es ein paar Tastaturkürzel gibt, mit denen man mit diesen Tabs herumspielen kann, ist das nichts im Vergleich zu dem, was VIM kann.

:tabedit <tab key to scroll through files in directory>

Der beste Teil? Sie berühren die Maus überhaupt nicht. Wie bewegen Sie sich in den Dateien? Mit gt oder gT Tabs vorwärts bzw. rückwärts wechseln. Auch :tabfirst und :tablast können Sie zwischen dem ersten und dem letzten geöffneten Tab hin und her springen.

Wenn Sie jedoch alle Dateien direkt beim Start öffnen möchten, geben Sie einfach ein:

vim -p source_file1.py source_file2.py source_file3.py 

2. Tab-Sitzungen in VIM speichern und öffnen

Okay, jetzt haben Sie also eine Menge Dateien in Registerkarten geöffnet und auch Änderungen an den Dateien vorgenommen. Aber ist Ihnen aufgefallen, dass Sie die Dateien jedes Mal öffnen müssen, wenn Sie sie in den Registerkarten haben möchten?

Was wäre, wenn es eine Möglichkeit gäbe, die geöffneten Dateien unverändert zu speichern und einfach damit zu verschieben?

Genau dafür sind VIM-Sitzungen da. Wenn Sie mit mehreren Dateien in VIM arbeiten, ist es besser, eine VIM-Sitzung zu speichern, damit beim nächsten Öffnen der Sitzungsdatei alles genau so wieder angezeigt wird, wie Sie es verlassen haben.

Wie erstellen Sie eine VIM-Sitzung? Sie verlassen den Einfügemodus zunächst, indem Sie die Esc-Taste drücken Schlüssel. Geben Sie dann den folgenden Befehl ein.

:mksession <Session Name>.vim

Wenn Sie die Sitzung jetzt das nächste Mal öffnen möchten, können Sie sie direkt vom Terminal aus öffnen, indem Sie Folgendes eingeben:

vim -S <Session Name>.vim

Oder wenn Sie eine Sitzungsdatei öffnen möchten, während Sie sich in VIM befinden, geben Sie einfach Folgendes ein:

:source <Session Name>.vim

3. Text automatisch vervollständigen in VIM

Haben Sie das Gefühl, dass VIM nicht mit den Autovervollständigungsfunktionen anderer IDEs oder Texteditoren mithalten kann? Probieren Sie es aus. Obwohl es keine künstliche Intelligenz oder irgendwelche Algorithmen für maschinelles Lernen verwendet, um diese Funktion zu unterstützen, ist es robust genug.

Wenn Sie in Ihrem VIM-Editor versuchen, Code zu bearbeiten, drücken Sie die folgende Tastenkombination, um die hervorragende automatische Vervollständigung zu überprüfen.

Ctrl+n

Basierend auf den eingegebenen Buchstaben findet der Editor die beste Übereinstimmung für das Wort, das Sie eingeben könnten. Obwohl es nichts von dem versteht, was Sie eingeben, macht es den Job wirklich gut.

4. Linux-VIM-Befehle zum Durchführen von Klammerübereinstimmungen

Wie wir bereits erwähnt haben, dass der VIM-Editor nach Mustern im Text sucht, bringt er beim Codieren Klammerübereinstimmungen mit sich. Es erleichtert uns die Arbeit mit langen Codes sehr.

Dieser ist ziemlich geradlinig. Führen Sie den Cursor zur öffnenden/schließenden geschweiften Klammer und drücken Sie % Zeichen auf der Tastatur.

Und schon springt Ihr Cursor zur passenden geschweiften Klammer.

5. Codeblöcke in VIM markieren und falten

Dies ist nicht so einfach, wie Sie es sich wünschen, da der Code-Editor nicht versteht, was wir eingeben, sondern nur am Musterabgleich arbeitet.

Wie gehen wir also vor, um Code im Vim-Editor zu falten? Wir beginnen damit, den Cursor an die Stelle zu bringen, an der wir mit dem Falten beginnen möchten, und von dort aus verwenden wir den letter V um mit dem Markieren des Codes zu beginnen, bis er gefaltet werden soll.

Sobald wir den Code mit dem Buchstaben V gekennzeichnet haben , und drücken Sie dann zf um den Code zu falten. Das f im zf steht für fold . Wie öffnen wir den Code? Wir drücken einfach, indem wir die erste Zeile des gefalteten Codes hervorheben

Um den Code jetzt zu öffnen, können wir unseren Cursor zu der Zeile bringen, in der sich der gefaltete Code befindet (wie Sie im obigen Screenshot sehen können, die graue Zeile mit der Aufschrift 6 Zeilen:function1() . Sobald sich Ihr Cursor auf dieser Zeile befindet, drücken Sie zo wobei o für offen steht .

Aber die obige Methode ist gut in Fällen, in denen der Code klein ist. Was ist, wenn Sie durch ein paar hundert Zeilen Code springen möchten? Lassen Sie mich Ihnen eine weitere Markierungstechnik zeigen, die Ihre Zeit halbiert.

  • Gehen Sie zu der Zeile, in der Sie mit dem Falten des Codes beginnen möchten
  • Drücken Sie den letter m gefolgt von einem beliebigen anderen Buchstaben, um die Markierung zu benennen. Zum Beispiel mk
  • Markieren Sie eine der geschweiften Klammern im Code und drücken Sie % um direkt zur passenden schließenden geschweiften Klammer zu springen.
  • Drücken Sie zf'k

Das 'k signalisiert dem fold-Befehl, nach der „k“-Markierung zu suchen, auf die wir durch die Eingabe von mk hingewiesen haben am Anfang.

6. Durchsuchen Sie Dateien in Ihrem System, ohne VIM zu verlassen

Ein normaler GUI-Text-/Code-Editor würde das Gefühl haben, dass er die Spalte „Projektordner“ vermisst, die normalerweise in der linken Seitenleiste des Code-Editor-Fensters bereitgestellt wird. Kann VIM das replizieren?

Natürlich!

Mit den beiden Befehlen :Vexplore und :Sexplore können Sie das Fenster in zwei Bereiche teilen und das gesamte Dateisystem durchsuchen. Sehen Sie sich beide Befehle an.

Wie Sie sehen können, wird in beiden Fällen der Dateimanager geöffnet und Sie können durch die Dateien navigieren, ohne den Fokus von der Codedatei zu verlieren, an der Sie gerade gearbeitet haben.

Da wir bereits die Split-Screen-Fähigkeiten von VIM gesehen haben, wie teilen wir den Bildschirm in zwei Teile und bearbeiten zwei Codes?

7. Geteiltes VIM-Code-Fenster

Sie können das VIM-Fenster entweder vertikal oder horizontal teilen und mehrere Codedateien bearbeiten, ohne sich von der anderen zu entfernen. Wie? Schauen wir mal.

Das Vexplore und Sexplore Befehle ermöglichen es uns, Dateien zu durchsuchen und jede Datei im Split-Bereich des Terminals zu öffnen. Aber wenn Sie die Datei nur öffnen möchten, können Sie den vsplit verwenden oder split Befehl.

VERTICAL SPLIT
:vsplit <filename>

OR 

:vsp <filename>

HORIZONTAL SPLIT
:split <filename>

OR 

:sp <filename>

Der obige Befehl wird das Terminal vertikal teilen und die andere Datei für Sie öffnen.

Befehl Aktion
Strg-w ←
ODER
Strg-w h
Konzentrieren Sie sich auf die links angrenzende Teilung
Strg-w →
ODER
Strg-w l
Konzentrieren Sie sich auf die rechts angrenzende Teilung
Strg-w ↓
ODER
Strg-w j
Konzentrieren Sie sich auf die untere benachbarte Teilung
Strg-w ↑
ODER
Strg-w k
Konzentrieren Sie sich auf die obere benachbarte Teilung
Strg-w n +
ODER
Strg-w n
Erhöhen oder verringern Sie die Größe der Teilung um n Linien

Wenn Sie mit einer SSH-Client-Software wie Terminus arbeiten Um sich mit Ihrem Linux-Server zu verbinden, wird die Verbindung einfach mit den standardmäßigen VIM-Befehlen zum Wechseln der Splits geschlossen.

Denn Strg-W ist die Standardverknüpfung zum Schließen von Tabs in Terminus und in vielen anderen Windows-Programmen. Wie gehen wir also vor?

VIM ermöglicht es uns, Tasten neu zuzuordnen, um Tastenanschläge zu sparen und Konflikte zu vermeiden.

8. Linux-VIM-Befehle neu zuordnen und ändern

Einige Verknüpfungen in VIM sind ziemlich umständlich und können uns fragen lassen, ob sich der ganze Aufwand überhaupt lohnt!

Die remap , noremap , nnoremap , inoremap , vnoremap -Befehle ermöglichen es uns, vorhandene VIM-Befehle jeder anderen Taste zuzuordnen, die wir einrichten möchten.

Der Unterschied zwischen den Zuordnungsbefehlen besteht in den Zuordnungsmodi, in denen sie arbeiten. Die Abdeckung der Zuordnungsmodi ist für dieses Thema nicht vorgesehen, daher überlasse ich es Ihnen, es zu lesen. Fahren Sie fort und geben Sie :help map-modes ein .

Dies ist die Übersicht über die Kartenmodi, aber das Hilfethema enthält eine Menge Details, wenn Sie daran interessiert sind, diese Modi zu verstehen.

Wie werden die vorhandenen vim-Befehlsverknüpfungen zugeordnet? Wir arbeiten mit dem „map“-Befehl.

Syntax :

:map <new key-combo> <existing key-combo>

For example: 
:map <C-J> <C-W><C-J>
:map <C-K> <C-W><C-K>
:map <C-L> <C-W><C-L>
:map <C-H> <C-W><C-H>
:map l gg

Die obigen Zuordnungen ändern die Standardbefehle zum Umschalten zwischen geteilten Fenstern in Strg-J, Strg-K usw. anstelle des hinzugefügten Strg-W.

Der letzte Befehl ändert den gg Befehl an l . Wenn Sie also l drücken, gelangen Sie zur ersten Zeile.

Tun Sie dies für so viele Befehle wie Sie benötigen. Diese Zuordnungen sind jedoch sitzungsbasiert. Sobald Sie vim beenden, werden die Zuordnungen zurückgesetzt.

Um die dauerhafte Tastenzuordnung festzulegen, müssen wir die Befehle zur VIMrc-Datei hinzufügen. Kopieren Sie einfach die Befehle ohne den : in der ~/.vimrc Datei. Wenn die Datei nicht existiert, erstellen Sie einfach eine mit nur den Befehlen, die Sie beim Start von VIM ausführen müssen.

Um diese Tastenzuordnungen zusätzlich zur vorhandenen Standard-Vim-Konfiguration einzurichten, erstellen Sie einfach eine Kopie oder verknüpfen Sie die Originaldatei wie folgt:

root@ubuntu:~# ln -s ~/code/dotfiles/vim/vimrc ~/.vimrc

9. Linux-VIM-Befehle zum Aktivieren der Syntaxhervorhebung

Als Fortsetzung unseres vorherigen Abschnitts können wir den Befehl syntax on hinzufügen in der ~/.vimrc Datei, um die Syntaxhervorhebung zu aktivieren. Sehen Sie sich den Unterschied an, den das machen würde.

Sie können die Syntaxhervorhebung natürlich auch während der Sitzung ein- und ausschalten, wie wir es für alle anderen Befehle zuvor getan haben.

10. Linux-VIM-Befehle zum Ausschneiden, Kopieren und Einfügen

Kopieren und Einfügen sind nicht so einfach wie Strg-c Strg-v, aber es ist ziemlich einfach!

In VIM wird die Kopieraktion Yank genannt , und die Ausschneideaktion heißt Löschen . Die Einfügeaktion heißt weiterhin Einfügen .

Die Verknüpfungen werden also nach diesen Namen benannt. Wenn ich zum Beispiel etwas „zerren“ muss, kann ich y eingeben und der ausgewählte Text wird gezogen.

Um einen Text auszuschneiden, ist der Befehl derselbe wie Löschen, der Buchstabe d . Sie können also verstehen, dass der VIM-Editor den Text tatsächlich vorbereitet, um ihn an anderer Stelle einzufügen, selbst wenn Sie ein Stück Text löschen.

Der Abschnitt, in dem sich der Cursor befindet, wird kopiert oder gelöscht. Um den kopierten Text einzufügen, geben Sie einfach p ein zum Einfügen nach dem Cursor und P vor dem Cursor einzufügen.

11. Rechtschreibprüfung in VIM

Haben Sie nicht erwartet, diesen Punkt zu sehen, oder? Nun, VIm hat eine Option zur Rechtschreibprüfung, die auf der Grundlage einer bereits verfügbaren Wörterbuchdatei funktioniert. Alles, was wir tun müssen, ist die Sprache einzurichten.

Fügen Sie in der Datei ~/.vimrc die folgende Zeile hinzu:

set spell spelllang=en_us

Wie Sie sehen können, wird der Lorem Ipsum-Text sofort hervorgehoben, wenn ich die Rechtschreibprüfung aktiviert habe.

12. Substitution – Suchen und Ersetzen in VIM

Die Such- und Ersetzungsfunktion, die alle GUI-Texteditoren bieten, ist auch auf VIM zu finden. Wie? Aufgrund des Musterabgleichs.

:%s /Lorem/JournalDev/g

Die obige Zeile ersetzt sofort jedes Vorkommen von Lorem in jeder Zeile (g ) mit dem Wort JournalDev.

13. Linux-Befehle in VIM ausführen

Sie bearbeiten also Code und müssen schnell einen Befehl ausführen. Müssen Sie VIm speichern und beenden, nur um den Code auszuführen? Nicht wirklich!

Vim ermöglicht es Ihnen, den Code innerhalb des Editors auszuführen, ohne den Überblick über den Code verlieren zu müssen. Sie können dies tun, indem Sie ein Ausrufezeichen nach dem Doppelpunkt verwenden. Hier ist ein Beispiel:

:!ping www.journaldev.com

Das ist es! Wenn es sich nun um einen Befehl handelt, der nach der Ausgabe endet, können Sie die EINGABETASTE drücken und zur Programmierung zurückkehren. Aber im Falle dieses Ping-Befehls können Sie den Tastatur-Interrupt Strg-C drücken und drücken Sie dann die ENTER-Taste, ohne Ihren VIM-Editor aus dem Hintergrund zu verlieren.

Alternativ können Sie einfach :shell eingeben um direkt eine Shell für Sie geöffnet zu bekommen. Sobald Sie mit dem fertig sind, was Sie tun müssen, geben Sie einfach exit um die Shell zu verlassen und zu VIM zurückzukehren, das so bleibt, wie es zuvor verlassen wurde.

14. Mehrere Wörter löschen

Sie wissen, dass die Wörter rechts von Ihrem Cursor gelöscht werden müssen. Aber nicht den ganzen Satz. Wie machst du das? Mit demselben Befehl und einigen zusätzlichen Parametern.

Das d Der Befehl verwendet einfach die dahinter angegebene Zahl, um diese vielen Wörter zu löschen. Sehen Sie sich den folgenden Befehl an. Beide Befehle funktionieren basierend darauf, wo sich der Cursor befindet.

d3w #This will delete 3 words to the right 
d3b #This will delete 3 words to the left

15. Linux-VIM-Befehl zum Rückgängigmachen von Änderungen

Während Sie sich an VIM gewöhnen, wird es Zeiten geben, in denen Sie etwas löschen, was Sie nicht wollten. Der Strg-Z-Ansatz funktioniert nicht auf VIM, also wie machen Sie Ihre Arbeit rückgängig?

u

Der Buchstabe u wird die Änderungen automatisch rückgängig machen, genau wie es ctrl-z tun würde.

16. Text aus anderer Datei einfügen

Dies ist ein ziemlich nützlicher Produktivitäts-Hack. Spart Zeit beim Kopieren und Einfügen von Dingen aus mehreren Dateien, um sie zusammenzuführen.

Also was genau ist das? Es liest einfach Text aus einer anderen angegebenen Datei und fügt den gesamten Text direkt nach dem Cursor ein.

:r <file name>

17. Makros in VIM

Wir wissen, dass VIM viel kann, aber haben Sie sich einen Befehlszeilen-Editor vorgestellt, der Makros aufzeichnen kann? Nun, fangen Sie besser an, sich etwas vorzustellen, da dieser Editor aufgrund des großen Potenzials, das dieser einfach aussehende Editor hat, als leistungsstark bezeichnet wird.

Wie zeichnet man ein Makro auf? Es ist sehr leicht! Sie gelangen in den Befehlsmodus (Wenn Sie sich im Einfügemodus befinden, drücken Sie einfach Esc ) .

qb #The letter after q is just to identify the macro. Can be anything
q #Stop recording macro
@b #Replay the macro. The letter runs that specific macro

Wozu dient dieses Makro? Alles, was Sie im VIm-Editor tun können, kann mit einem Makro durchgeführt werden. Also zum Beispiel Sie:

  • Gehe zum ersten Wort
  • Löschen Sie das erste Wort
  • Ersetzen Sie es durch etwas anderes

Wenn Sie dies für mehrere Zeilen tun müssen, brauchen Sie nur ein Makro aufzuzeichnen und wiederzugeben.

18. Zählen für Befehle verwenden

Fast jeder Befehl, der „möglicherweise“ mehrmals eingegeben werden muss, akzeptiert eine Zahl als Argument. Zum Beispiel der Löschbefehl d , der Zeilensprungbefehl k usw.

Wenn ich also 6 Zeilen löschen möchte, kann ich den d-Befehl 6 Mal ausführen oder einfach 6d sagen .

Das ist zum Löschen, Sie können es auch tun, wenn Sie sich im Text bewegen. Wenn ich mich um 3 Wörter bewegen möchte, tippe ich nur 3w oder 3e je nachdem, wo der Cursor platziert werden soll, am Anfang oder am Ende.

19. Fortschritt in der Datei erkennen

Wenn Sie durch eine lange Datei scrollen und einfach wissen müssen, wo Sie sich gerade befinden, wählen Sie diesen Befehl. Es gibt Ihnen eine Prozentangabe, wo Sie im Moment innerhalb der Datei stehen.

Wie Sie im obigen Bild sehen können, sagt es mir, dass die aktuelle Position meines Cursors an der 40%-Marke vom Ende der Datei ist. Der Befehl dazu ist die Eingabe von Ctrl-G wenn Sie sich im Befehlsmodus befinden.

20. Hilfemodule für Linux-VIM-Befehle

Ich werde diesen Beitrag beenden, indem ich über das praktische Werkzeug, den Hilfebefehl, spreche. Ähnlich wie Manpages in Linux, die help command ermöglicht es Benutzern, alle vim-Befehle im Detail zu verstehen. Hier ist ein Beispiel dafür, was der Hilfebefehl für unseren Löschbefehl anzeigt.

:help d

Schlussfolgerung

Dies wird nur der Beginn Ihrer Reise ins Vim-Land sein. Es gibt jede Menge Befehle und Funktionen, die Sie beim Erlernen von VIm kennenlernen werden.

Aber eines können Sie sicher sein. Wenn Sie VIM einmal gut genug gelernt haben, wird es Ihnen zur zweiten Natur werden, diese Funktionen zu erwarten, wenn Sie anfangen, einen anderen Editor zu verwenden!

Referenzen

  • ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf – Das 572-seitige vollständige Handbuch von VIm, das alles behandelt, was VIM zu bieten hat.


Linux
  1. 3 wichtige Linux-Spickzettel für mehr Produktivität

  2. 10 grundlegende Linux-Befehle, die Sie kennen müssen

  3. 7 Linux-Netzwerkbefehle, die jeder Systemadministrator kennen sollte

  4. Linux-Suchbefehle

  5. Die wichtigsten grundlegenden Linux-Befehle für Anfänger

Beste Linux-Distribution:Top-10-Empfehlung zur Verbesserung Ihrer Linux-Erfahrung

Top 30 Linux-Befehle

Top 25 Vim-Befehle für Linux

So verwenden Sie Linux-FTP-Befehle

Top 50+ Linux-Befehle, die Sie kennen MÜSSEN

Top 5 der besten Linux-Texteditoren