Vim bringt mit netrw einen eingebauten Datei-Manager mit, der auf jeder Vim-Installation ab Werk verfügbar ist. Er ist mächtig, deckt vom einfachen Verzeichnis-Browsing bis zur Bookmark-Verwaltung und Multi-File-Operationen alles ab — und er polarisiert: Manche Vim-Profis nutzen ihn täglich, andere wechseln direkt zu Plugin-Alternativen wie NERDTree, dirvish oder fern.vim. Der Grund ist nicht die Funktionsfülle (die ist da), sondern die UI: netrw hat eine eigene Befehlssprache mit kryptischen Mehrzeichen-Kombinationen, einige Defaults wirken unkomfortabel, und der Tree-View muss erst per Konfig aktiviert werden. Dieser Artikel zeigt netrws zentrale Befehle, das Workflow-Setup, das den Datei-Manager im Alltag tragbar macht, und gibt am Ende eine Übersicht der wichtigsten Plugin-Alternativen.

netrw starten

netrw wird über mehrere Befehle gestartet, je nachdem ob man es im aktuellen Fenster, in einem Split oder in einem neuen Tab haben will:

BefehlAktion
:Explore / :Exnetrw im aktuellen Fenster
:Sexplore / :Sexnetrw in horizontalem Split
:Vexplore / :Vexnetrw in vertikalem Split
:Texplore / :Texnetrw in neuem Tab
:Lexplore / :Lexnetrw als sticky Sidebar links (Toggle-Mode)
:e dir/netrw über :e mit Verzeichnis-Argument
:e .netrw im aktuellen Arbeitsverzeichnis

:Lexplore ist die NERDTree-ähnliche Variante: bei wiederholtem Aufruf wird die Sidebar ein- bzw. ausgeblendet. Im Alltag damit als „Datei-Tree links daneben"-Workflow nutzbar.

Eine alternative Einstiegs-Variante: Tippt man im Normal-Mode -, öffnet netrw das Verzeichnis der aktuellen Datei. Schnelle Schritt-zurück-Operation in der Verzeichnis-Hierarchie.

vim ~/.vimrc — `-` als netrw-Einstieg
" Wer `-` als „Verzeichnis von hier" nicht standardmäßig hat,
" kann es explizit setzen — gehört zur Default-Bind-Liste von netrw,
" kann aber per Override deaktiviert sein.
nnoremap <silent> - :Explore<CR>

Sobald netrw geöffnet ist, sieht man eine Liste der Dateien im aktuellen Verzeichnis. Die wichtigsten Navigations-Befehle:

TasteAktion
EnterDatei öffnen / Verzeichnis betreten
-Ein Verzeichnis nach oben
uZurück in der Verzeichnis-History (wie Browser-„zurück")
UVorwärts in der Verzeichnis-History
ghToggle: Hidden-Files (.dotfiles) ein-/ausblenden
iToggle: Listing-Style (thin / long / wide / tree)
sToggle: Sortier-Kriterium (Name / Time / Size / Extension)
rSortier-Reihenfolge umkehren
PDatei im vorherigen Fenster öffnen (statt im netrw-Fenster)
oDatei in horizontalem Split öffnen
vDatei in vertikalem Split öffnen
tDatei in neuem Tab öffnen
xDatei mit der zugeordneten OS-App öffnen (xdg-open/open)

Die Splits- und Tab-Varianten sind besonders nützlich, wenn netrw als Sidebar genutzt wird: o öffnet die Datei im rechten Hauptbereich, v macht einen zusätzlichen Vertical-Split daneben, t öffnet sie als neuen Tab.

Datei-Operationen

netrw kann mehr als nur navigieren — Dateien lassen sich direkt erzeugen, löschen, umbenennen und kopieren:

TasteAktion
%Neue Datei anlegen (Vim fragt nach Name)
dNeues Verzeichnis anlegen
DDatei / Verzeichnis unter Cursor löschen
RDatei unter Cursor umbenennen
mfDatei unter Cursor markieren
muAlle Marks aufheben
mtMarkiertes Target für Move/Copy setzen
mcMarkierte Dateien zum Target kopieren
mmMarkierte Dateien zum Target verschieben
mxExternen Befehl auf markierte Dateien ausführen

Der Mark/Target-Workflow ist ein eigenes Mini-System: erst Dateien markieren (mf auf jeder), dann Ziel-Verzeichnis aufrufen und mt drücken, dann mit mc (copy) oder mm (move) die Marks zum Target verschieben. Klingt umständlich, ist aber für Mehrfach-Operationen brauchbar.

text Mehrere Dateien verschieben
" 1. In netrw im Quell-Verzeichnis:
mf                  " erste Datei markieren (Cursor drauf)
j mf                " nächste markieren
j mf                " dritte markieren

" 2. Zum Ziel-Verzeichnis navigieren (mit Enter)
mt                  " Target setzen

" 3. Operation auslösen
mm                  " markierte Dateien verschieben
" oder mc           " kopieren

Bookmarks

Verzeichnisse, die man oft aufsucht (Projekt-Roots, Doku-Ordner, Config-Verzeichnisse), lassen sich als Bookmarks speichern:

TasteAktion
mbaktuelles Verzeichnis als Bookmark speichern
gbzum letzten gespeicherten Bookmark springen
qbListe aller Bookmarks anzeigen
{n}gbzum n-ten Bookmark in der Liste

Bookmarks werden in der ~/.netrwbook persistiert und überleben Vim-Restarts.

text Bookmark-Workflow
" Im wichtigen Verzeichnis (z. B. ~/projects/site)
mb                  " Bookmark speichern

" Später, von irgendwo aus netrw:
gb                  " zum zuletzt gesetzten Bookmark
qb                  " alle Bookmarks listen
2gb                 " zum zweiten Bookmark

Der oft gewünschte Tree-View

Default-netrw zeigt eine flache Liste. Für eine Tree-Ansicht wie in NERDTree gibt es die Option g:netrw_liststyle = 3:

vim ~/.vimrc — netrw als Tree
" Tree-View statt flacher Liste
let g:netrw_liststyle = 3

" Banner ausblenden (das 5-zeilige Info-Banner oben)
let g:netrw_banner = 0

" Standard-Breite, wenn als Sidebar (Lexplore)
let g:netrw_winsize = 25

" Datei aus netrw im vorherigen Fenster öffnen
" statt das netrw-Fenster zu kapern
let g:netrw_browse_split = 4
let g:netrw_altv = 1

Mit diesen vier Settings verhält sich netrw deutlich näher an dem, was viele User von NERDTree gewohnt sind: Tree-Layout, kein Banner, Sidebar-Breite gesetzt, Dateien öffnen im Haupt-Editor-Bereich statt im Tree-Buffer.

Im Tree-Modus klappen Verzeichnisse mit Enter auf und zu — als rekursive Hierarchie. Genau das, was man bei Datei-Browsern erwartet.

Hilfe und Inspektion in netrw

Wenn man die Befehle vergessen hat — netrw hat eine eigene Hilfe-Seite:

Taste / BefehlAktion
F1netrw-Help-Buffer öffnen
:help netrwkomplette netrw-Doku
:help netrw-quickmapsCheat-Sheet aller Tastenkombinationen
qfFile-Info für Datei unter Cursor (Größe, Datum)
qFListe aller markierten Dateien

:help netrw-quickmaps ist im Alltag das nützlichste Cheat-Sheet — eine kompakte Liste aller Befehle, im Editor sofort verfügbar.

Remote-Editing mit netrw

Eine selten genutzte, aber elegante Funktion: netrw kann Remote-Dateien über verschiedene Protokolle öffnen — SSH, FTP, HTTP, SCP, RCP. Dahinter ruft netrw die jeweiligen externen CLI-Tools auf.

text Remote-Files
:e scp://user@server/path/to/file.txt     " über SCP
:e sftp://user@server/path/to/file.txt    " über SFTP
:e http://example.com/page.html           " HTTP-Lese-Zugriff

Im Alltag nutzt das selten jemand — die :terminal-Variante mit ssh plus dortigem Vim ist meist angenehmer. Aber für gelegentliche Edits auf Servern ohne Vim-Installation ist netrws Remote-Mode brauchbar.

Wenn netrw nicht reicht: Plugin-Alternativen

netrw ist mächtig, aber seine UI hat charakteristische Schwächen: nicht-intuitive Befehle, langsame Reaktion bei großen Verzeichnissen, Fenster-Verhalten bei Splits kann irritieren. Wer ein moderneres UX möchte, wechselt zu einem der folgenden Plugins:

PluginCharakter
NERDTreeDer Klassiker. Sidebar mit Tree, persistente Fenster-Geometrie, intuitive Bedienung, gut dokumentiert.
vim-vinegarErweitert netrw mit besseren Defaults — netrw bleibt, wird angenehmer. Minimal-invasiv.
dirvishnetrw als reiner Buffer — keine UI-Schicht, Dateien sind Listen-Einträge, alle Vim-Befehle wirken normal darauf.
fern.vimModerne Tree-Variante, schnell, mit eigener Erweiterungs-API.
vim-startifyKein Datei-Manager im klassischen Sinn, aber ein Start-Bildschirm mit Recent-Files-Liste.
vifm.vimBindung zu vifm (eigenständiger Datei-Manager) als Vim-Integration.

Eine pragmatische Empfehlung: vim-vinegar ist der minimal-invasive Einstieg, der netrw bleiben lässt, aber die Defaults glättet. Wer mehr will, springt zu dirvish (für Vim-native-Buffer-Workflows) oder NERDTree (für IDE-ähnliches Sidebar-Tree-Setup).

Diese Plugins werden im Kapitel Erweiterte Features ausführlich vorgestellt — für die Installation siehe Plugin-Management.

Besonderheiten

`-` als Schritt-zurück ist die nützlichste Taste

Im normalen Editor <Kbd>-</Kbd> drücken — und schon ist man im Verzeichnis der aktuellen Datei in netrw. Aus netrw heraus erneut - drücken — ein Level weiter hoch. Diese Navigation ist schneller als jeder Datei-Browser per Maus.

`g:netrw_banner = 0` ist eine Quality-of-Life-Verbesserung

Das fünfzeilige Header-Banner über jedem netrw-Buffer kostet Bildschirm-Platz und liefert in der Praxis kaum Information. Ausblenden mit der einen Zeile in der .vimrc ist eine der häufigsten netrw-Konfig-Anpassungen.

Tree-View nicht Default — aber jeder will ihn

let g:netrw_liststyle = 3 ist der Schalter für die Tree-Ansicht. Ohne diese Zeile sieht netrw aus wie ein flacher ls-Output. Mit ihr wie ein klassischer Datei-Baum. Warum das nicht Default ist, weiß keiner — ändern lohnt sich aber.

`mf` ist nicht „mark as favorite", sondern „mark file"

Erstkontakt-Verwirrung: mf markiert eine Datei für eine spätere Bulk-Operation. Es ist KEIN Bookmark (das ist mb). Das ist ein subtiler Unterschied, der bei der ersten Begegnung mit dem Mark-Workflow irritiert.

`vim-vinegar` ist netrws bester Freund

Wer netrw behalten will, aber unter den Defaults leidet, installiert vim-vinegar. Das Plugin schaltet das Banner aus, macht - zum natürlichen Schritt-zurück und glättet die häufigsten Fenster-Verhaltens-Stolperfallen. Eine Zeile in der Plugin-Liste, kein weiteres Setup.

`:Lexplore` mit Toggle-Verhalten

Anders als :Explore öffnet :Lexplore netrw als sticky Sidebar — und beim zweiten Aufruf schließt es sie wieder. Damit funktioniert es wie ein Tree-Sidebar-Toggle in einer IDE. Auf ein Mapping legen: nnoremap <silent> <leader>e :Lexplore<CR>.

Weiterführende Ressourcen

Externe Quellen

Verwandte Artikel

/ Weiter

Zurück zu Dateien & Verzeichnisse

Zur Übersicht