Linux ist die Heimat von Vim — auf praktisch jeder Distribution lässt sich der Editor mit einem einzelnen Paketmanager-Befehl installieren, oft in Versionen, die nur Wochen alt sind. Diese Anleitung deckt die Paketmanager der vier verbreiteten Familien (Debian/Ubuntu, Fedora/RHEL, Arch, openSUSE) ab, klärt die vim-tiny-Falle auf Debian-basierten Systemen, zeigt den Build-from-Source-Pfad für Sonderwünsche und beschreibt die typischen Linux-Themen: Clipboard unter X11 vs. Wayland, tmux-Integration und die Verifikation der Compile-Features.

Welche Variante wann

Linux gibt dir mehr Optionen als jedes andere System — und genau deshalb sind ein paar Faustregeln nützlich:

  • Paketmanager der Distribution ist immer der erste Versuch. Auf Arch, Fedora und Tumbleweed sind die Versionen aktuell. Auf Debian Stable und Ubuntu LTS hinken sie leicht hinterher — meist um ein paar Patch-Level, selten um eine ganze Major-Version.
  • vim-tiny-Falle auf Debian/Ubuntu: das Default-Paket vim ist eine Minimal-Variante ohne +clipboard, ohne +python3, ohne +lua. Wer Plugins ernst meint, installiert explizit vim-gtk3 oder vim-nox.
  • Build-from-Source lohnt sich, wenn du eine spezifische Patch-Version brauchst oder ein eigenes Feature-Set kompilieren möchtest — z. B. mit +huge-Variante und allen optionalen Bridges. Auf einem modernen Rechner kostet das etwa eine Minute.

Vim installieren

Die vier Hauptfamilien decken etwa 95 % der Distributionen ab:

shell bash
# Debian, Ubuntu, Linux Mint, Pop!_OS
sudo apt update
sudo apt install vim

# Fedora, RHEL, Rocky, AlmaLinux
sudo dnf install vim-enhanced

# Arch, Manjaro, EndeavourOS
sudo pacman -S vim

# openSUSE Leap, Tumbleweed
sudo zypper install vim

Wichtig auf Debian/Ubuntu: das Default-vim-Paket ist die vim-tiny-Variante mit reduzierten Features. Wer Clipboard, Python und Lua eingebaut haben möchte, installiert explizit das größere Paket:

shell bash
# Debian/Ubuntu — Vim mit allen Features (clipboard, python3, lua)
sudo apt install vim-gtk3

# Alternative: vim-nox (gleiche Feature-Liste, ohne GUI)
sudo apt install vim-nox

# Wer keinen GUI-Subset braucht, nimmt vim-nox; vim-gtk3 liefert
# zusätzlich das gvim-Binary für einen X11-/Wayland-GUI-Editor.

Verifikation — + vor den Features ist das gute Vorzeichen:

shell bash
vim --version | head -1
vim --version | grep -E "clipboard|python3|lua"
Output
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled May 17 2026 09:11:23)
+clipboard         +mouseshape        +python3           +tag_old_static
+eval              +mouse_xterm       +lua               +tag_any_white

Die Konfiguration liegt unter ~/.vimrc oder ~/.vim/vimrc — XDG-Pfade (~/.config/vim/vimrc) kennt Vim seit 9.1 ebenfalls. Für klassische Vim-Setups bleibt ~/.vimrc der pragmatische Default.

Build-from-Source — wann es lohnt

In drei Situationen lohnt sich ein eigener Build:

  • du brauchst eine neuere Patch-Version, als die Distribution liefert;
  • du willst eine bestimmte Feature-Kombination (z. B. +huge mit Lua, Python, Ruby, Perl, X11);
  • du möchtest gegen eine konkrete Bibliothek linken (z. B. system-eigenes Python3).

Auf einem modernen Rechner dauert das ca. 60 Sekunden:

shell bash (Debian/Ubuntu)
# Build-Abhängigkeiten
sudo apt install build-essential libncurses-dev python3-dev \
                 libxt-dev libgtk-3-dev liblua5.4-dev

# Source klonen
git clone https://github.com/vim/vim
cd vim/src

# Konfigurieren — alle relevanten Bridges anschalten
./configure --with-features=huge \
            --enable-python3interp \
            --enable-luainterp \
            --enable-cscope \
            --enable-multibyte \
            --enable-gui=gtk3 \
            --with-x \
            --prefix=/usr/local

# Bauen und installieren
make -j$(nproc)
sudo make install

# Prüfen
/usr/local/bin/vim --version | head -1

Auf Fedora ersetzt sudo dnf install gcc make ncurses-devel python3-devel lua-devel libX11-devel gtk3-devel die Debian-Abhängigkeiten; auf Arch reicht sudo pacman -S base-devel ncurses python lua gtk3 libxt.

Clipboard unter X11 und Wayland

Anders als auf macOS ist das Clipboard auf Linux nicht in Vim direkt eingebaut — Vim ruft externe Tools auf, deren Wahl vom Display-Server abhängt:

  • X11xclip oder xsel. Beide funktionieren, xclip ist üblicher.
  • Waylandwl-clipboard (das Paket bringt wl-copy und wl-paste mit).

Vim braucht zusätzlich einen Build mit +clipboard-Feature (vim-gtk3 auf Debian/Ubuntu) und muss in einer Umgebung laufen, in der die X11- bzw. Wayland-Sockets erreichbar sind. In reinen TTY-Sessions (ohne Display-Server) gibt es kein System-Clipboard — dort hilft nur das eingebaute Vim-Register "+/"*, das in TTY allerdings nur intern funktioniert.

Installation:

shell bash
# X11-Sessions
sudo apt install xclip xsel

# Wayland-Sessions
sudo apt install wl-clipboard

# Prüfen, welcher Display-Server läuft
echo $XDG_SESSION_TYPE

In der ~/.vimrc aktiviert eine Zeile die System-Clipboard-Integration:

vim ~/.vimrc
" yank in das namenlose Register kopiert direkt ins System-Clipboard.
" Vim erkennt automatisch xclip/xsel (X11) bzw. wl-copy/wl-paste
" (Wayland), sofern sie im PATH stehen und der Vim-Build
" +clipboard enthält.
set clipboard^=unnamedplus

tmux-Integration

Vim läuft oft in einer tmux-Session — und das funktioniert grundsätzlich problemlos. Drei Punkte verdienen aber Aufmerksamkeit:

Truecolor: Vims set termguicolors braucht ein tmux, das Truecolor weiterreicht. In ~/.tmux.conf:

text ~/.tmux.conf
# Truecolor (24-bit) in tmux aktivieren — sonst sehen Colorschemes
# in Vim falsch aus, vor allem die modernen wie tokyonight.
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"

Cursor-Shape: Vim wechselt die Cursor-Form je nach Modus (Block in Normal, Linie in Insert) über DECSCUSR-Sequenzen. Damit das in tmux funktioniert, muss tmux diese Sequenzen durchreichen — passiert automatisch ab tmux 2.6, sonst per set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[ q'.

Clipboard durchreichen: tmux hat ein eigenes Copy-Mode-Clipboard. Damit Yanks aus Vim ins System-Clipboard landen, muss set -g set-clipboard on aktiv sein und der Terminal-Emulator OSC-52 unterstützen (modern: Kitty, WezTerm, Alacritty, Ghostty — ältere xterm-Versionen oft nicht).

Eine bewährte Bonus-Empfehlung: christoomey/vim-tmux-navigator als Plugin in Vim und als Bindings in tmux.conf aktivieren. Dann werden <C-h>, <C-j>, <C-k>, <C-l> zu universellen Pane-/Split-Navigatoren — egal ob aktuell ein tmux-Pane oder ein Vim-Split den Fokus hat.

Verifikation

Nach der Installation ist vim --version (Shell) bzw. :version (im Editor) das wichtigste Diagnose-Werkzeug:

shell bash
# Version und Compile-Optionen
vim --version

# Welche Konfig-Datei wurde geladen?
vim -c ":echo $MYVIMRC" -c ":qa"

# Welche Scripts wurden insgesamt geladen? (Plugins, ftplugins)
vim -c ":scriptnames" -c ":qa"

# Sauberer Start ohne Konfig — zum Vergleich oder Debug
vim -u NONE

Wichtige Features zum Gegenprüfen:

  • +clipboard — System-Clipboard funktioniert.
  • +python3 — Python-Plugins können geladen werden.
  • +lua — Lua-Plugins können geladen werden (klassisches, kein Neovim).
  • +terminal:terminal als built-in Job-Control verfügbar.
  • +job — asynchrone Jobs (ab Vim 8.0).

Damit ist die Basis komplett. Der nächste Schritt ist der erste Start und vimtutor — dort wird die Modi-Bedienung praktisch geübt.

FAQ

Welche Variante ist auf Ubuntu LTS am sinnvollsten?

vim-gtk3 oder vim-nox. Beide bringen +clipboard, +python3, +lua mit. Das Default-vim-Paket ist auf Ubuntu/Debian die vim-tiny-Variante und damit nicht praxistauglich. Der Unterschied: vim-gtk3 liefert zusätzlich gvim, vim-nox kommt ohne GUI-Komponenten.

Warum erscheint mein Cursor nicht als Block im Normal-Mode?

Drei Ursachen sind häufig: 1) Der Terminal-Emulator unterstützt DECSCUSR nicht (sehr selten heute). 2) tmux ist zu alt oder lässt die Sequenzen nicht durch (siehe tmux-Abschnitt). 3) Eine set guicursor= in der ~/.vimrc überschreibt den Default — bewusst gesetzt oder versehentlich.

Wie pflege ich Updates ohne Distro-Wechsel?

Über den Paketmanager: sudo apt upgrade vim-gtk3 bzw. sudo dnf upgrade vim-enhanced. Über Source-Build: cd vim && git pull && cd src && make && sudo make install. Auf Arch und Tumbleweed sind die Pakete fast immer aktuell — dort reicht das System-Update.

Funktioniert Vim in WSL2 wie unter Linux?

Ja, vollständig. Die Anleitung gilt 1:1 für eine WSL2-Distribution. Clipboard-Brücke nach Windows funktioniert unter WSLg automatisch über wl-clipboard; ältere Setups brauchen ein Mapping auf clip.exe für Yank. Siehe auch die Installation auf Windows.

Was ist mit Snap/Flatpak-Vim?

Snap-/Flatpak-Versionen von Vim existieren, sind aber selten sinnvoll. Sandboxing blockiert externe Tool-Aufrufe (xclip, externe Formatter, LSP-Server), was bei einem Plugin-Stack regelmäßig Probleme macht. Distro-Paket oder Source-Build sind die sauberen Wege.

Wo liegen Vims Konfig- und Daten-Pfade auf Linux?

Klassisch: ~/.vimrc (Konfig), ~/.vim/ (Runtime, Plugins, Swap, Undo). Ab Vim 9.1 alternativ XDG-konform: ~/.config/vim/vimrc (Konfig), ~/.local/share/vim/ und ~/.cache/vim/ (Daten/Cache). Beide Schemata werden unterstützt; das Mischen ist möglich, aber unübersichtlich.

Weiterführende Ressourcen

Externe Quellen

Verwandte Artikel

/ Weiter

Zurück zu Grundlagen

Zur Übersicht