VIM als schriftstellerin autorin

VIM als Autor und Schriftsteller nutzen?

VIM ist ein Texteditor im Terminal. Einige ziehen diesen sogar ‚modernen‘ Texteditoren mit grafischer Oberfläche vor – vor allem Programmierer:innen. Auch Autor:innen und Schriftsteller:innen verwenden VIM als Hauptplattform für ihre Texte und Bücher. Was hat der Editor, das andere nicht haben?

Was ist VIM?

Falls du das erste Mal von VIM hörst: Es handelt sich dabei um einen Texteditor im Terminal. Er wird unter Open Source Lizenz veröffentlicht, Spenden werden an Charity-Aktionen umgeleitet – damit ist VIM offiziell Charity Ware. Der Editor ist kostenfrei verwendbar und hat über die Jahre viele Fans und auch namhafte Forks (Neovim, gVim) hervorgebracht. Die Hauptverbreitung hat VIM vermutlich unter Linux, da beide ideologisch recht nah beisammen hängen. Aber auch macOS und Windows können VIM in ihren Terminals nutzen.

VIM ist eine Abkürzung und steht für Vi-IMproved und ist genau das: eine Weiterentwicklung des UNIX-Standard-Texteditors vi im Terminal. Der ist wiederrum eine erweiterte Variante ex, der eine Entwicklung von ed ist. Muss man heute eigentlich beide nicht mehr kennen, wer sich für IT-Historie interessiert, kann den Links auf Wikipedia folgen.

Für die ersten Schritte in VIM empfiehlt sich das Programm vimtutor, das direkt im Terminal als interaktive Einführung ausgeführt wird.

VIM im Terminal mit den aktiven Plugins Goyo, Limelight und „Spellchecker“, CC-BY-SA

Was ist besonders an VIM?

VIM ist einer der wenigen Editoren mit verschiedenen Modi.

  1. NORMAL – Der Lese-Modus. Mit den Pfeil- oder HJKL-Tasten kannst du dich im Text umsehen.
  2. INSERT – Über die Taste i gelangst du in den Inset- bzw. Schreibmodus. Hier schreibst du deinen Text. HJKL sind deaktiviert, dafür funktionieren die Pfeiltasten. Die Funktionstasten (F1-F12) sind deaktiviert und werden einfach aufgeschrieben.
  3. REPLACE – Eigentlich kein eigener Modus, sondern ein Mix aus Normal und Insert. Geh mit dem Schreibcursor auf einen auszutauschenden Buchstaben, drücke die Taste r und anschließend das Zeichen, dass an die Stelle stattdessen soll.
  4. VISUAL – Mit der Taste v startest du den visuellen Modus zum Markieren von Text. Shift+v startet den gleichen Modus, nur, dass nun Zeilen statt einzelner Zeichen markiert werden. Über die Tasten y (yank) wird in den Zwischenspeicher kopiert, x schneidet aus, p steht für Paste, also Einfügen.
  5. COMMAND – Über den Doppelpunkt : startest du aus dem Normal-Mode den Command-Modus. Hier stehen dir alle Befehle zur Verfügung, die VIM inklusive der Plugins zu bieten hat. Etwa ist :w Speichern, :wq Speichern und VIM Beenden, :wq! Schreibgeschütztes Überschreiben und Beenden. :q beendet VIM, sollten gerade Splits, Buffer (Tabs) oder Goyo aktiv sein, werden die chronologisch beendet. Die Kommandopalette ist schier unendlich und kann wie im Terminal miteinander kombiniert werden. Die Sprache muss gelernt werden. Es gibt hunderte Anleitungen da draußen, hier findest du einige Cheat Sheets.

Der Terminalumgebung geschuldet hat VIM eine Besonderheit: Es wird traditionell nur mit der Tastatur bedient. Die Maus wird mittlerweile an einigen Stellen auch unterstützt, etwa zum Scrollen, Markieren oder Copy&Paste. Es hängt aber vom genutzten Terminal-Emulator ab.

vimtutor: Interaktiv VIM lernen, CC-BY-SA

Durch die Tatatursteuerung und eigene Tastenbelegung gilt VIM nach einer gewissen Einarbeitungszeit als schnellster Editor überhaupt. Etwa werden die Pfeiltasten durch die Tasten H, J, K und L ersetzt. Somit können beide Hände in neutraler Schreibposition bleiben. Wer das 10-Finger-System beherrscht, hat hier nochmal mehr Vorteile.

Außerdem lässt sich VIM über eine frei editierbare Konfigurationsdatei und eine eigene Scriptsprache (VIM-Script) mehr als alle anderen Editoren an die eigene Arbeitsweise anpassen – und es können Plugins bzw. Addons installiert werden. Damit wird VIM zu einem mächtigen Begleiter für die allermeisten Situationen. Auch einige Schriftsteller:innen und Autor:innen haben sich mittlerweile in dem Programm niedergelassen. Doch bedenke: Es bleibt ein stark erweiterbarer Text-Editor, kein Word Processor, wie es Office Suites oder manch Markdown Editor sind.

Auch ich nutze VIM für viele Texte – sowie diesen hier. Allerdings nicht für alle.

VIM verfügt über Splitscreens, die vertikal und horizonal hinzugefügt werden können, bis der Bildschirm platzt. Außerdem gibt es einen Buffer-Modus, in dem mehrere Dateien hintereinander geladen werden können. Quasi in unsichtbaren Tabs. Durch den Split-Screen können mehrere Dateien gleichzeitig geöffnet sein, was sich hervorragend für Notizen oder World Building eignet.

So kann (m)eine VIMRC aussehen, CC-BY-SA

vimrc: Die Config einrichten

VIM ohne angepasste Konfigurationsdatei ist nicht gerade bekömmlich. Vermutlich hätte es auch nie große Verbreitung gefunden. Die VIM-Config befindet sich im Home-Ordner – oder anders gesagt in „~“ als .vimrc – wichtig ist der Punkt vor dem Dateinamen, es handelt sich um eine versteckte Datei.

Die Textdatei wird bei jedem Programmstart chronologisch ausgelesen und für die Session die entsprechenden Einstellungen geladen. Hier lassen sich auch Plugins automatisch integrieren (dazu mehr im Abschnitt Plugins).

Die Abfolge ist prinzipiell egal, wenn einzelne Kommandos nicht auf anderen aufbauen. Es werden etwa optische Einstellungen festgelegt, wie Plugins ausgeführt werden, VIM-Kürzel auf Tastenkombinationen gelegt oder das Verhalten des Programms.

Die (vermutlich) Meisten laden zuerst alle Plugins und dann passen sie die Tastenkürzel an, zum Schluss folgen kosmetische Eingriffe.

Beispiel-Befehle in VIMRC erklärt

Weiter unten kann meine aktuelle VIMRC eingesehen werden. Anhand folgender Beispiele kann sie vielleicht etwas besser nachvollzogen werden.

  • map <F5> :Goyo <CR> – Legt den Befehl :Goyo auf die Taste F5, <CR> steht für Carriage Return und entspricht der Enter-Taste. Alternativ könnte da auch <Return> oder <Enter> stehen. CR ist einfach kürzer, daher sieht man es überall.
  • map <C-s> :w<CR> – Der Befehl :w steht für Write, also Speichern. Da auch ich im Wechsel mit GUI-Programmen arbeite, ist das stete STRG+S zum Speichern fast schon Automatismus. Daher habe ich es auch in VIM eingerichtet.
  • colorscheme default – In VIM lässt sich über installierte Themes aka. colorscheme die Farbgebung aller Elemente ändern. Ich verwende BlackBox als Terminal, einen GTK4-Terminal ohne Rahmen, der perfekte Partner für Gnome. Damit das aber gut aussieht, muss VIM die nativen Farben des Terminals annehmen, sonst entsteht ein Kasten darin. Das geht über diesen Befehl. Eigentlich ist „default“ der Standard, erfahrungsgemäß frickel ich manchmal herum, da ist es leichter die .vimrc neu zu laden, als das colorscheme.
  • set number relativenumber – An der linken Seite befindet sich mit dem Befehl set number eine Art Lineal mit Zeilennummern. In VIM lässt sich über Tastenkürzel eine Reihe von Zeilen überspringen, etwa die Tastenkombination 22k setzt den Schreibcursor 22 Zeilen nach Oben, 15j entsprechend 15 Zeilen nach Unten. Durch den Zusatz „relativenumber“ werden die Zeilen in beide Richtungen relativ gezählt und es lässt sich schneller die entsprechende Stelle anspringen.

Die besten VIM-Plugins für Blogger, Autoren und Schriftsteller

Während VIM vor allem unter Programmierer:innen Verbreitung und Ansehen genießt, kann es mit den richtigen Addons bzw. Plugins problemlos zur ablenkungsfreien Schreibumgebung werden. Du kannst dein VIM sogar so weit konfigurieren, dass deine Werke beim Speichern automatisch mit einem eigenen GitHub-Account abgeglichen werden. Soweit soll es hier aber nicht gehen, sondern vielmehr die Grundlagen erklären – als Basis zum selbst weiterforschen.

Plugins lassen sich in VIM händisch in ~/.vim/plugged installieren, einfacher ist es aber über einen Plugin-Manager, vor allem, wenn Updates zu installieren sind. Ich verwende Vim-Plug. Der bringt einfache Syntax mit und lässt sich über einen Befehl im Terminal installieren.

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Anschließend muss in der .vimrc folgendes hinzugefügt werden:

call plug#begin()

nun folgen die Plugin-URLs, von denen das jeweilige Plugin von GitHub geladen werden soll – und auch später Updates bezogen werden

Um etwa das essentiellste Distraction-Free Plugin Goyo zu installieren, füge die folgende Zeile hinzu:

Plug 'junegunn/goyo.vim'

Goyo zentriert den Text und nimmt alles aus der Anzeige heraus, das irgendwie ablenken könnte. Im Vollbildmodus hast du so wirklich nur den Text vor dir.

Dazu empfehle ich Limelight. Das hebt den akutellen Absatz hervor bzw. dimmt die anderen etwas zurück. Somit liegt der Fokus noch mehr auf dem aktuellen Inhalt. Installiert wird es via

Plug ' junegunn/limelight.vim'

Am Ende der Plugin-Liste muss in der .vimrc stehen:

call plug#end()

Anschließend startest du VIM und gibst im Command Mode :PlugInstall ein. Nun installieren sich alle Plugins automatisch. Später kannst du mit :PlugUpdate die Plugins wie in deinem Linux-Paketmanager in einem Rutsch aktualisieren. Soll ein Plugin gelöscht werden, trägst du es aus der .vimrc aus und löscht manuell den Ordner in ~/.vim/plugged oder gibst :PlugClean ein.

Das Plugin vim-markdown-folding „faltet“ markdown-Überschriften auf Wunsch, CC-BY,SA

Meine Top 5 Plugins für Autor:innen und Schriftsteller:innen sind:

Pencil bricht Wörter nicht automatisch um und lässt den Schreibcursor sinnvoller durch mehrzeilige Absätze flutschen. Es macht aber auch aus einem Absatz eine Zeile – also Achtung beim Löschen via dd.

LanguageTool ist eine Rechtschreibkorrektur inkl. Grammatikprüfung (die bei mir allerdings nicht zuverlässig funktioniert). Wordy überprüft (leider nur die englische) Grammatik. Interessant vor allem für Blogger:innen, deren Texte kein Lektorat oder Korrektorat durchlaufen und trotzdem die schlimmsten Fehler vermeiden wollen. Ein Äquivalent für deutsche Texte ist mir nicht bekannt. Wer eins kennt: Unbedingt ein Kommentar schreiben.

Wer gern eine Art Datei-Explorer in VIM haben möchte, sollte sich NERDTree anschauen.

Die integrierte Exportfunktion beschränkt sich auf PostScript, daher lohnt es sich, für schöne Exporte direkt aus VIM heraus auf pandoc zu setzen.

Beispiel .vimrc Datei

Falls das alles zu viel war: Keine Angst, am Anfang geht das (fast) allen so. Wie beim Umstieg auf Linux muss man sich erst einmal an die neuen Gegebenheiten und Freiheiten gewöhnen und sie nutzen lernen.

Eine .vimrc könnte so aussehen – zumindest sieht meine aktuell so aus:

(alles hinter den Anführungsstrichen (“) ist ein Kommentar/Erklärung und damit nicht aktiv)

"""""""""""
" PLUGINS "
"""""""""""

call plug#begin()

" ALLGEMEIN / LOOK
Plug 'tpope/vim-sensible'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'junegunn/seoul256.vim'
" Plug 'morhetz/gruvbox'
" Plug 'logico/typewriter-vim' 

" WÖRTERBUCH
Plug 'dpelle/vim-LanguageTool' 

" ABLENKUNGSFREI
Plug 'junegunn/goyo.vim' 
Plug 'junegunn/limelight.vim' 

" EDITIEREN
Plug 'reedes/vim-pencil' 
" Plug 'reedes/vim-wordy'

" MARKDOWN + FOLDING
Plug 'godlygeek/tabular'
Plug 'masukomi/vim-markdown-folding'
" Plug 'plasticboy/vim-markdown'

" DATEI EXPLORER
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'ryanoasis/vim-devicons'

call plug#end()

""""""""""""""""""""""""""""
" Eigene Tastaturkommandos "
""""""""""""""""""""""""""""
" CTRL+e nur im insert-mode Ende Zeile 
imap <C-e> <esc>$i<right> 
imap <C-a> <esc>0i<left>

" Goyo Toggle
map <F5> :Goyo <CR> 

" Limelight Toggle
map <F6> :Limelight!! <CR>  

" File Explorer Toggle
map <F4> :NERDTreeToggle <CR> 

" Rechtschreibung Toggle
map <F7> :setlocal spell! spelllang=de_de<CR> 

" Bessere Steuerung in langen Texten
map <F8> :SoftPencil <CR>

" Steuerung für Splits 
noremap <silent> <C-Left> :vertical resize +3<CR>
noremap <silent> <C-Right> :vertical resize -3<CR>
noremap <silent> <C-Up> :resize +3<CR>
noremap <silent> <C-Down> :resize -3<CR>

" Speichern per CTRL+S
map <C-s> :w<CR>

" Markdown Fold Toggle Zeile
map <C-S-Left> za <CR> 

" Markdown alle HL folden
map <C-S-Up> zM <cr> 

" Markdown alle HL öffnen
map <C-S-Down> zR <cr> 

""""""""""""""
"CONFIG KRAM "
""""""""""""""

" THEME
colorscheme default

" Hintergrund Dunkel
set background=dark

" Export Schrift
set guifont=iAWriterMonoS-Regular:h13

" Keine Error-Bell
set noerrorbells

syntax on 					
set wrap 		 " Kein Umbruch im Wort
set wildmenu	 " Auto CMD
set tabstop=4	 " 1 Tab = 4 Space
set softtabstop=4
set number relativenumber	 " Zeilennummer relativ
" set clipboard=unnamedplus	 " System-Clipboard statt nur in VIM
set autoindent
set noruler

" LIMELIGHT Anzeige angepasst
let g:limelight_conceal_ctermfg = 'gray'
let g:limelight_conceal_ctermfg = 240
let g:limelight_conceal_guifg = 'DarkGray'
let g:limelight_conceal_guifg = '#777777'

Professionelle Schriftsteller:innen mit VIM

Sie sind rar, aber es gibt sie tatsächlich: Professionelle Schriftsteller:innen aus der Belletristik, die mit VIM arbeiten. Ein in der VIM-Community fast schon berühmter Schriftsteller ist Theena aus Sri Lanka, der VIM von Notizen über Plotting, World Building bis zum Schreiben selbst nutzt und sich dazu einen wirklich umfangreichen Workflow gebastelt hat. Ich empfehle dringend allen Interessierten, das Video der VIMConf 2021 anzusehen. Weitere Videos verlinke ich für den besseren Lesefluss ganz unten.

Allerdings sind es wohl nur eine handvoll Belletrisitik-Schrifsteller:innen, die mit VIM oder NeoVim arbeiten. Unter Blogger:innen und Autor:innen findet man schon deutlich mehr. Bei mir entstehen die meisten Roh-Schriften für Blogs bzw. Artikel-Manuskripte mit VIM. Überarbeitung findet dann meist in Typora statt, da hier einige Dinge schneller von der (meiner) Hand gehen. Längere Werke schreibe ich aktuell von vornherein in Obsidian, da es auch Bilder direkt darstellen kann, auf die ich mich dann mitunter beziehe, auch das Verlinken von anderen Dateien klappt da für mich besser. Aber das kommt mal in einem anderen Artikel.

Überzeugt VIM als Werkzeug? – CC-BY-SA

Ist VIM der beste Texteditor für alle?

Es gibt nicht den oder das Beste für alle.

Editoren sind zum Glück so verschieden wie die Menschen, die sie benutzen (wollen). VIM ist auf aus heutiger Sicht speziell, am Ende aber auch nur ein weiterer, sehr anpassbarer Texteditor mit einigen Besonderheiten. Dass VIM nur im Terminal ausgeführt wird, ist für viele schon eine Hürde, wer sich aber einmal ranwagt und ein paar Wochen damit Texte schreibt, kann vielleicht verstehen, warum manche so verzaubert davon sind. Als Terminal-Font kann ich übrigens Comic Mono empfehlen. Liest sich auch lange Zeit gut.

Für mich war VIM lange einfach nur ein hässlicher und umständlich zu bedienender Texteditor. Mittlerweile habe ich die minimale Oberfläche (mit entsprechenden Plugins) und die enorme Anpassbarkeit lieben gelernt. Den Fokusmodus gibt es zwar auch in anderen Programmen, VIM verprüht allerdings seinen ganz eigenen Reiz. Und durch die enorme Anpassbarkeit ist man nicht an Hersteller oder die Grundoptik gebunden.

Probier es aus!

Noch ein Pro-Tipp: Versuche statt :wq doch einmal einfach nur ZZ (zwei große Z’s ohne Doppelpunkt vorher im Normal-Mode). Geht schneller von der Hand und macht das Gleiche.

Mehr Infos: Homepage von VIM (Achtung, die muss nach frühen 2000ern aussehen!)

Videos mit Schreib-Setups

Avatar-Foto
Claudius ist freier Autor zu Themen wie IT, Linux und Audio und bloggt hier aus eigener Erfahrung herum. Daily Driver und Kreativsystem ist aktuell Debian Sid.
Beitrag erstellt 28
Abonnieren
Benachrichtige mich bei
6 Comments
Inline Feedbacks
View all comments
Momo

Ich war erst erschlagen von der Länge der Beiträge hier. Mittlerweile muss ich sagen, dass das echt mal was anderes ist. Ich finde es großartig, mit welcher Tiefe sich hier ein Thema zur Brust genommen wird. Echter Mehrwert über Klickbait hinaus ist selten geworden. Danke für die Seite!

Bobo

Was ist das für ein Terminal, so ganz ohne Rahmen? Irgendwas mit GTK4?

Ronald McD

Wow, das ist mal ein umfangreicher Artikel. Und dann auch noch für VIM und Linux in einer bis dato für mich unbekannten Funktionsweise. Ich liebe den Editor!

Verwandte Beiträge

Beginne damit, deinen Suchbegriff oben einzugeben und drücke Enter für die Suche. Drücke ESC, um abzubrechen.

Zurück nach oben