Dieser Artikel ist Teil der VIM-Benutzerhandbuchserie:

  • Der Anfängerleitfaden zur Verwendung von Vim
  • Vim Tastaturkürzel Cheatsheet
  • 5 Vim Tipps und Tricks für erfahrene Benutzer
  • 3 nützliche VIM-Editor Tipps und Tricks für fortgeschrittene Benutzer
  • Wie man Vim in ein Textverarbeitungsprogramm umwandelt

Ob Sie es glauben oder nicht, ich benutze Vim als mein tägliches Textverarbeitungsprogramm. Ich mag sein einfaches Layout und sein modales Design, das Tastaturbefehle über Mausklicks bevorzugt.

Obwohl Sie Vim wahrscheinlich als Texteditor kennen, der besser zum Programmieren geeignet ist als für Prosa, können Sie mit ein paar Optimierungen auch Dokumente schreiben, wie Sie in Word oder LibreOffice sind, während Sie in den komfortablen Räumen eines Terminals bleiben.

Anfangen

Wenn Sie sich nicht bereits mit den Grundlagen von Vim vertraut gemacht haben, schauen Sie sich diesen Artikel an, der der erste in einer Serie von vier ist. Stellen Sie sicher, dass Sie lernen, wie Sie eine Textdatei öffnen, das Programm öffnen und beenden und sich mit der Tastatur auf dem Bildschirm bewegen, bevor Sie weiter in dieses Stück springen.

Installation

Ihre Linux Distribution wird wahrscheinlich mit Vim in ihrem Paket-Repository geliefert, so dass Sie sie einfach mit Ihrem Software Manager oder Paket-Manager installieren können. Wenn Sie die Konfigurationsdatei von Vim später bearbeiten, können Sie dies als normaler Benutzer tun.

Arch Linux:

 sudo pacman -S vim 

Fedora:

 sudo dnf install vim 

Ubuntu:

 sudo apt installiert vim 

Jeder andere kann Vim aus seinem Github-Repository holen:

 git klon https://github.com/vim/vim.git cd ./vim/src/ make sudo make install 

Die Vim-Konfigurationsdatei

Eine Installation von Vim kann eine .vimrc-Datei in Ihrem Home-Verzeichnis erstellen. Wenn dies nicht der Fall ist, erstellen Sie eins:

 Berühren Sie ~ / .vimrc 

Sie können es mit Vim selbst öffnen:

 CD vim .vimrc 

Unser Textverarbeitungsprogramm

Jetzt sehen Sie wahrscheinlich eine leere Datei. Lass uns das ändern.

Wir können eine Funktion namens "WordProcessor" erstellen, die Sie jederzeit aufrufen können. Es sieht so aus:

 Funktion! WordProcessor () "Bewegung ändert Karte j gj Karte k gk" Formatierungstext setlocal formatoptions = 1 setlocal noexpandtab setlocal wrap setlocal linebreak "Rechtschreibung und Thesaurus setlocal Buchstabieren spelllang = en_us gesetztes Thesaurus + = / home / test / .vim / thesaurus / mthesaur.txt "complete + = s macht Autovervollständigung suchen Sie den Thesaurus Set komplett + = s endfu com! WP-Aufruf WordProcessor () 

Jetzt, wo Sie die Funktion als Ganzes sehen, können wir ihre Teile zerlegen. Schauen Sie sich die Abschnitte unserer Funktion an, die mit einem einfachen Anführungszeichen versehen sind, die einzelnen Zeilen in grau.

1. Bewegung ändert sich mit map j gj und map k gk

Was Sie hier sehen, ist eine Änderung in der Art, wie die Cursorbewegung in Vim funktioniert. Wenn Sie die vorherigen Vim-Artikel lesen, die am Anfang dieses Artikels erwähnt wurden, wissen Sie, dass j den Cursor nach unten bewegt und k den Cursor nach oben bewegt. Ähnlich bewegen gj und gk Sie nach unten und oben, aber sie bewegen den Cursor Zeile für Zeile auf dem Bildschirm und nicht durch die Zeile in der Datei.

Unser Mapping von j / k nach gj / gk gibt Ihrem Mauszeiger die Möglichkeit, sich durch gewickelte Zeilen auf Ihrem Bildschirm auf und ab zu bewegen. Dies hilft, wenn Sie lange Absätze eingeben und den Cursor leicht in die Mitte dieser Absätze bewegen müssen.

2. Formatieren von Text mit den "setlocal" -Befehlen

Siehe zuerst setlocal formatoptions=1 . Mit "Formatoptions" können Sie aus einer Reihe von Textformatierungsmodi auswählen. Im Fall der Option "1" wird Vim davon absehen, Zeilen nach einem ein-Buchstaben-Wort zu unterbrechen. Es wird versucht, wenn möglich, Zeilen vor dem Ein-Buchstaben-Wort zu brechen.

Mit setlocal noexpandtab können Sie verhindern, dass Vim Registerkarten in Leerzeichen ändert. Zum Beispiel sagt die "expandtab" Einstellung, dass Vim das Drücken der Tab Taste in eine Anzahl von Leerzeichen ändert, die dieselbe Länge haben. "Noexpandtab" macht das Gegenteil; Sie behält Ihre Tab-Taste als einzelnes Zeichen.

setlocal wrap sagt Vim, dass er den Text setlocal wrap wenn er das Ende des Bildschirms erreicht. Dies ist das Verhalten, das Sie von einem Textverarbeitungsprogramm erwarten.

Endlich, setlocal linebreak bringt Vim dazu, deine Linien an vernünftigen Orten zu brechen. Es verhindert, dass Ihre Zeilen mit dem letzten Zeichen umschlossen werden, das auf den Bildschirm passt. Dies ist der Grund, warum Sie Textlinien sehen, die verschiedene Punkte auf dem Bildschirm erreichen, bevor sie an den Anfang springen. Sehen Sie sich an, wie es mit einer unfertigen Kopie dieses Artikels im Screenshot unten aussieht

3. Rechtschreibung und ein Offline-Thesaurus

Vim verfügt über eine eingebaute Rechtschreibprüfung. Sie können Ihre "WordProcessor" -Funktion verwenden, indem Sie den Befehl setlocal spell spelllang=en_us . Sie können hier mehrere Sprachen in einer durch Kommas getrennten Liste definieren.

Auf dieser Vim FTP-Site finden Sie weitere Sprachdateien. Platziere deine ausgewählten Dateien (sowohl .spl- als auch .sug-Dateien für jede Sprache) unter "$ HOME / .vim / spell /". Ändere die Zeile deiner Funktion auf " set spelllang=en_us, nl, medical, um beispielsweise nach Englisch zu set spelllang=en_us, nl, medical Niederländisch und medizinische Wörter.

Falsch geschriebene Wörter werden in Ihrem Text unterstrichen und fett angezeigt.

Sie können nach Ersetzungen suchen, indem Sie Folgendes eingeben :z= im Normalmodus. (Verwenden Sie die Escape-Taste, um in den Normalmodus zu gelangen.) Dieser Befehl erzeugt einen Bildschirm wie das folgende Bild.

Sie können die Thesaurus-Funktion von Vim verwenden, indem Sie dem gewählten Thesaurus-Verzeichnis mit set thesaurus+=/home//.vim/thesaurus/mthesaur.txt oder ähnlichem den Namen geben. Sie finden die Datei "mthesaur.txt" im Projekt Gutenberg. Legen Sie die heruntergeladene Textdatei in das Verzeichnis, das Sie mit diesem Befehl definieren.

Suchen Sie nach Wörtern, die Ihrem markierten Wort ähneln, indem Sie den Einfügemodus aufrufen (drücken Sie im Normalmodus die Taste i), und geben Sie Strg + x und dann Strg + t ein. Es zeigt Ihnen eine Liste wie das folgende Bild, durch das Sie blättern können, um ein neues Wort zu finden.

Manchmal sind die Vorschläge nicht die besten.

4. Vervollständigen Sie die Wörter mit der Option "complete"

Sehen Sie sich set complete+=s für die abschließende Betrachtung an. Diese Option weist Vim an, in Ihrem Thesaurus nach einem Wort zu suchen, das Sie automatisch vervollständigen möchten.

Normalerweise können Sie Wörter automatisch vervollständigen, indem Sie sich von Vim vorherige Wörter ansehen, die Sie eingegeben haben, z. B. "falsch eingegeben" und "Fehler" im folgenden Screenshot. Sie geben einfach den Einfügemodus ein und drücken Strg + n oder Strg + p, um nach einem Wort zu suchen, das zum Beispiel mit dem halben Buchstaben "mis" übereinstimmt.

Sehen Sie, wie die ersten beiden Selektionen nicht aus dem Thesaurus stammen? Diese beiden Zeilen sind die einzigen Optionen, die Sie hier sehen würden, wenn unsere Funktion nicht "complete + = s" verwendet hätte. Sie können diese Zeile für schnellere Autovervollständigungen weglassen oder auskommentieren.

Starten Sie Ihr Textverarbeitungsprogramm

Die letzte Zeile Ihrer .vimrc, die die WordProcessor-Funktion funktioniert, ist com! WP call WordProcessor() com! WP call WordProcessor() . Sie können Folgendes eingeben :WP im Normalmodus, um die Textverarbeitungsfunktionen von Vim festzulegen.

Sie können das "WP" in dieser Zeile bearbeiten, um alles zu lesen, das Sie mögen - stellen Sie einfach sicher, dass der Text zusammenhängend ist. Welcher Text Sie auch wählen, ändert dann den Befehl in :

Fazit

Die Funktionalität, die ich hier besprochen habe, dauert nur eine einzige Vim-Sitzung. Wenn Sie Vim schließen und erneut öffnen, werden die Standardeinstellungen wieder aktiviert. Dies passiert auch dann, wenn Sie dieselbe Datei ein zweites Mal öffnen.

Sie können diese Optionen außerhalb der Funktion festlegen, damit sie immer funktionieren, aber sie werden möglicherweise nicht vielen der Programmieraufgaben gerecht, mit denen Vim gearbeitet wurde. Es ist nicht schwer, ein paar Buchstaben zu tippen. Genießen Sie einfach Ihre neuen Einstellungen und die Tatsache, dass Sie Ihr Terminal zu einem leistungsfähigen Absatzeditor gemacht haben.