Wie man Vim in ein Textverarbeitungsprogramm umwandelt
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.