Vim auf einem Linux-VPS verwenden
Ein praxisnahes Vim-Tutorial rund um echte Server-Administrationsaufgaben. Lernen Sie Modi, Navigation, Bearbeitung, Suchen und Ersetzen, Splits, .vimrc-Konfiguration und Workflows für Nginx-, SSH- und Docker-Compose-Dateien über SSH.
Vim ist der Standard-Texteditor auf den meisten Linux-Servern. Wenn Sie sich per SSH mit einem VPS verbinden, um eine Nginx-Konfiguration zu bearbeiten, einen SSH-Port zu ändern oder eine Docker-Compose-Datei anzupassen, steht Ihnen Vim zur Verfügung. Dieses Tutorial vermittelt Vim anhand realer Server-Administrationsaufgaben statt abstrakter Beispiele.
Sie lernen, wie Vim-Modi funktionieren, wie Sie Dateien effizient navigieren und bearbeiten, wie Sie Text suchen und ersetzen, wie Sie mit mehreren Dateien über Splits und Buffer arbeiten und wie Sie eine .vimrc einrichten, die die Arbeit am Server beschleunigt.
Voraussetzungen: Ein Linux-VPS (Debian oder Ubuntu) mit SSH-Zugang. Grundlegende Terminal-Kenntnisse (Befehle ausführen, Verzeichnisse navigieren).
Wie installiere ich Vim auf Ubuntu oder Debian?
Die meisten Debian- und Ubuntu-Server werden mit vim-tiny ausgeliefert, einer abgespeckten Version ohne Syntaxhervorhebung, Undo-Verlauf und Plugin-Unterstützung. Installieren Sie die Vollversion, um alle in diesem Tutorial behandelten Funktionen zu erhalten.
sudo apt update && sudo apt install vim -y
Überprüfen Sie die Installation:
vim --version | head -1
Erwartete Ausgabe auf Debian 12 (Bookworm):
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 15 2023 17:28:07)
Auf Ubuntu 24.04 LTS sehen Sie Vim 9.1. Die genaue Patch-Version variiert je nach Distribution, aber alle Funktionen in diesem Tutorial funktionieren mit Vim 8.2 und höher.
Was ist mit Neovim? Neovim ist ein Fork von Vim mit einem Lua-basierten Konfigurationssystem und integrierter LSP-Unterstützung. Alles in diesem Tutorial gilt auch für Neovim, außer dem .vimrc-Pfad (Neovim verwendet ~/.config/nvim/init.vim). Wenn Sie Neovim bevorzugen, installieren Sie es mit sudo apt install neovim.
Starten Sie das eingebaute Tutorial
Vim wird mit einem interaktiven Tutorial geliefert, das etwa 30 Minuten dauert. Führen Sie es aus, bevor Sie weiterlesen, wenn Sie Vim noch nie benutzt haben:
vimtutor
Dies öffnet eine Übungsdatei, in der Sie durch Praxis lernen. Es behandelt die Grundlagen der Bewegung und Bearbeitung. Der Rest dieses Artikels geht tiefer und ergänzt serverspezifische Workflows, die vimtutor nicht abdeckt.
Was sind Vim-Modi und wie funktionieren sie?
Vim hat vier Hauptmodi. Der Normal-Modus ist die Standardeinstellung. Sie nutzen ihn für Navigation und die Ausführung von Befehlen. Der Einfüge-Modus dient zum Tippen von Text und wird mit i aufgerufen. Der Visuelle Modus wählt Text aus und wird mit v aufgerufen. Der Befehlszeilen-Modus führt Befehle wie Speichern und Beenden aus und wird mit : aufgerufen. Drücken Sie Esc, um von jedem anderen Modus in den Normal-Modus zurückzukehren.
Das unterscheidet sich von Editoren wie nano, wo Sie sofort tippen können. In Vim sind Tastenanschläge im Normal-Modus Befehle, keine Zeichen. Das nennt sich modale Bearbeitung.
| Modus | Aufruf | Zweck | Zurück zum Normal-Modus |
|---|---|---|---|
| Normal | Esc (oder Datei öffnen) |
Navigieren, Löschen, Kopieren, Einfügen, Befehle ausführen | Bereits im Normal-Modus |
| Einfügen | i, a, o, I, A, O |
Text tippen und bearbeiten | Esc |
| Visuell | v (Zeichen), V (Zeile), Ctrl+v (Block) |
Text für Operationen auswählen | Esc |
| Befehlszeile | : |
Ex-Befehle ausführen (Speichern, Beenden, Suchen, Ersetzen) | Enter oder Esc |
Die Modusanzeige erscheint unten links auf dem Bildschirm. Wenn Sie -- INSERT -- sehen, befinden Sie sich im Einfüge-Modus. Wenn nichts angezeigt wird, sind Sie im Normal-Modus.
Wenn Sie feststecken: Drücken Sie Esc zwei- oder dreimal. Das bringt Sie immer in den Normal-Modus zurück, unabhängig von Ihrem aktuellen Zustand.
Wie navigiere ich in Dateien mit Vim?
Die Navigation in Vim erfolgt im Normal-Modus. Die grundlegenden Bewegungstasten sind h (links), j (runter), k (hoch) und l (rechts). Pfeiltasten funktionieren ebenfalls, aber hjkl hält Ihre Finger auf der Grundreihe und ist schneller, sobald sich das Muskelgedächtnis entwickelt hat.
Zeichen- und Zeilenbewegung
| Taste | Aktion |
|---|---|
h |
Ein Zeichen nach links bewegen |
j |
Eine Zeile nach unten bewegen |
k |
Eine Zeile nach oben bewegen |
l |
Ein Zeichen nach rechts bewegen |
0 |
Zum Zeilenanfang springen |
$ |
Zum Zeilenende springen |
^ |
Zum ersten Nicht-Leerzeichen springen |
Wortbewegung
| Taste | Aktion |
|---|---|
w |
Zum Anfang des nächsten Wortes springen |
b |
Zum Anfang des vorherigen Wortes zurückspringen |
e |
Zum Ende des aktuellen Wortes springen |
W |
Zum nächsten WORT springen (durch Leerzeichen getrennt) |
B |
Zum vorherigen WORT zurückspringen |
Dateibewegung
| Taste | Aktion |
|---|---|
gg |
Zur ersten Zeile der Datei springen |
G |
Zur letzten Zeile der Datei springen |
42G oder :42 |
Zu Zeile 42 springen |
Ctrl+d |
Eine halbe Seite nach unten scrollen |
Ctrl+u |
Eine halbe Seite nach oben scrollen |
Ctrl+f |
Eine ganze Seite nach unten scrollen |
Ctrl+b |
Eine ganze Seite nach oben scrollen |
% |
Zur passenden Klammer springen ((, {, [) |
Suchnavigation
Drücken Sie / für die Vorwärtssuche, geben Sie Ihren Suchbegriff ein und drücken Sie Enter. Drücken Sie n, um zum nächsten Treffer zu springen, und N, um zum vorherigen zu springen. Drücken Sie ? für die Rückwärtssuche.
Beispiel: Sie bearbeiten /etc/nginx/nginx.conf und müssen die Direktive worker_connections finden:
/worker_connections
Vim springt zum ersten Treffer. Drücken Sie n, um durch alle Treffer in der Datei zu blättern.
Wie bearbeite ich Text in Vim?
Die Bearbeitung in Vim folgt einem Muster: Operator + Bewegung. Der Operator gibt an, was zu tun ist (löschen, ändern, kopieren). Die Bewegung gibt an, auf welchen Text er angewendet wird (Wort, Zeile, Absatz). Diese Kombinierbarkeit macht Vim schnell, sobald Sie ein paar Grundbausteine verinnerlicht haben.
Einfüge-Modus aufrufen
| Taste | Aktion |
|---|---|
i |
Vor dem Cursor einfügen |
a |
Nach dem Cursor anhängen |
I |
Am Zeilenanfang einfügen |
A |
Am Zeilenende anhängen |
o |
Neue Zeile darunter öffnen und Einfüge-Modus starten |
O |
Neue Zeile darüber öffnen und Einfüge-Modus starten |
Löschen, Ändern, Kopieren und Einfügen
| Befehl | Aktion |
|---|---|
x |
Zeichen unter dem Cursor löschen |
dd |
Ganze Zeile löschen |
dw |
Vom Cursor bis zum Anfang des nächsten Wortes löschen |
d$ oder D |
Vom Cursor bis zum Zeilenende löschen |
cc |
Ganze Zeile ändern (löscht und startet Einfüge-Modus) |
cw |
Wort ändern (löscht Wort und startet Einfüge-Modus) |
ci" |
Innerhalb der Anführungszeichen ändern (löscht Text zwischen " und startet Einfüge-Modus) |
yy |
Ganze Zeile kopieren (yank) |
yw |
Wort kopieren |
p |
Nach dem Cursor einfügen (put) |
P |
Vor dem Cursor einfügen |
Rückgängig und Wiederherstellen
| Taste | Aktion |
|---|---|
u |
Letzte Änderung rückgängig machen |
Ctrl+r |
Wiederherstellen (Rückgängig rückgängig machen) |
. |
Letzte Änderung wiederholen |
Der .-Befehl (Punkt) ist eine der nützlichsten Funktionen von Vim. Er wiederholt, was Sie zuletzt getan haben. Ändern Sie ein Wort mit cw, geben Sie den Ersatz ein, drücken Sie Esc. Bewegen Sie sich nun zu einem anderen Wort und drücken Sie ., um die gleiche Änderung durchzuführen.
Serverrelevante Bearbeitungsbeispiele
Eine Direktive aus einer Nginx-Konfiguration löschen:
Positionieren Sie Ihren Cursor auf der Zeile access_log /var/log/nginx/access.log; und drücken Sie dd, um die gesamte Zeile zu löschen.
Eine Portnummer in Anführungszeichen ändern:
Positionieren Sie Ihren Cursor irgendwo innerhalb von "8080" in einer Docker-Compose-Datei und drücken Sie ci". Das löscht 8080 und versetzt Sie in den Einfüge-Modus. Geben Sie 3000 ein und drücken Sie Esc.
Zwei Wörter aus einer Direktive löschen:
Drücken Sie d2w, um die nächsten zwei Wörter ab der Cursorposition zu löschen. Vim-Befehle akzeptieren eine Zahl vor der Bewegung: 3dd löscht drei Zeilen, 5j bewegt sich fünf Zeilen nach unten.
Wie suche und ersetze ich Text in Vim?
Verwenden Sie :s (substitute) zum Ersetzen von Text. Die grundlegende Syntax lautet :s/alt/neu/Flags. Dieser Befehl wirkt standardmäßig auf die aktuelle Zeile. Verwenden Sie :%s, um ihn auf die gesamte Datei anzuwenden.
Substitutionsmuster
| Befehl | Aktion |
|---|---|
:s/foo/bar/ |
Erstes foo durch bar in der aktuellen Zeile ersetzen |
:s/foo/bar/g |
Alle foo durch bar in der aktuellen Zeile ersetzen |
:%s/foo/bar/g |
Alle foo durch bar in der gesamten Datei ersetzen |
:%s/foo/bar/gc |
Alle mit Bestätigung ersetzen (j/n für jeden Treffer) |
:5,10s/foo/bar/g |
Alle in Zeilen 5 bis 10 ersetzen |
Praxisbeispiele
Den Nginx-Listen-Port von 80 auf 443 ändern:
:%s/listen 80;/listen 443 ssl;/g
Eine Zeile in sshd_config auskommentieren:
Bewegen Sie sich zur Zeile und drücken Sie I, um am Anfang einzufügen, geben Sie # ein, drücken Sie Esc.
Mehrere Zeilen auskommentieren: Wählen Sie Zeilen mit V (visueller Zeilenmodus) aus, erweitern Sie die Auswahl mit j nach unten, geben Sie dann :s/^/#/ ein und drücken Sie Enter. Das stellt jeder ausgewählten Zeile ein # voran.
Ein Docker-Image-Tag ersetzen:
:%s/nginx:1.24/nginx:1.27/g
Regex-Grundlagen in der Vim-Substitution
Vim verwendet eine eigene Regex-Variante. Einige Muster, die Sie häufig bei Server-Konfigurationen verwenden werden:
| Muster | Entspricht |
|---|---|
^ |
Zeilenanfang |
$ |
Zeilenende |
. |
Beliebiges einzelnes Zeichen |
\d |
Eine Ziffer (0-9) |
.* |
Beliebige Zeichen (gierig) |
\s |
Leerzeichen |
Um literale Punkte zu finden (wie in IP-Adressen), maskieren Sie sie: :%s/192\.168\.1\.1/10.0.0.1/g.
Wie bearbeite ich mehrere Dateien in Vim mit Splits und Buffern?
Vim kann mehrere Dateien in einer einzigen Sitzung mit Buffern, geteilten Fenstern und Tabs öffnen. Das ist nützlich, wenn Sie beim Bearbeiten zwischen Dateien wechseln müssen, etwa um nginx.conf zu prüfen, während Sie einen bestimmten Server-Block bearbeiten.
Buffer
Ein Buffer ist eine in den Speicher geladene Datei. Sie können viele Buffer gleichzeitig geöffnet haben und zwischen ihnen wechseln.
| Befehl | Aktion |
|---|---|
:e /etc/nginx/sites-available/default |
Datei in neuem Buffer öffnen |
:bn |
Zum nächsten Buffer wechseln |
:bp |
Zum vorherigen Buffer wechseln |
:ls |
Alle offenen Buffer auflisten |
:b2 |
Zu Buffer Nummer 2 wechseln |
:bd |
Aktuellen Buffer schließen |
Geteilte Fenster
Splits ermöglichen es, zwei Dateien nebeneinander im selben Terminal zu sehen.
| Befehl | Aktion |
|---|---|
:sp /Pfad/zur/Datei |
Horizontaler Split (oben/unten) |
:vs /Pfad/zur/Datei |
Vertikaler Split (links/rechts) |
Ctrl+w h/j/k/l |
Zwischen Splits wechseln (links/unten/oben/rechts) |
Ctrl+w = |
Alle Splits gleich groß machen |
Ctrl+w q |
Aktuellen Split schließen |
Beispiel-Workflow: Eine Docker-Compose-Datei bearbeiten und gleichzeitig die .env-Datei einsehen:
:e docker-compose.yml
:vs .env
Sie haben jetzt zwei Bereiche. Verwenden Sie Ctrl+w l und Ctrl+w h, um zwischen ihnen zu wechseln.
Tabs
Tabs sind Sammlungen von Fenstern. Die meisten Anwender finden Splits für die Serverarbeit ausreichend, aber Tabs sind verfügbar:
| Befehl | Aktion |
|---|---|
:tabnew /Pfad/zur/Datei |
Datei in neuem Tab öffnen |
gt |
Zum nächsten Tab wechseln |
gT |
Zum vorherigen Tab wechseln |
:tabclose |
Aktuellen Tab schließen |
Wie passe ich Vim mit einer .vimrc-Datei an?
Die .vimrc-Datei in Ihrem Home-Verzeichnis steuert das Verhalten von Vim. Ohne sie läuft Vim in einem nahezu Vi-kompatiblen Modus, dem viele Funktionen fehlen. Eine gute, auf Serverarbeit abgestimmte .vimrc beschleunigt die Bearbeitung von Konfigurationsdateien.
Erstellen oder bearbeiten Sie Ihre .vimrc:
vim ~/.vimrc
Fügen Sie diese Einstellungen hinzu. Jede Zeile ist mit einem erklärenden Kommentar versehen:
" Disable Vi compatibility mode (enable all Vim features)
set nocompatible
" Use UTF-8 encoding (required for special characters in listchars on minimal server images)
set encoding=utf-8
" Show line numbers (essential for config files with error messages referencing line numbers)
set number
" Show relative line numbers (makes jumping N lines easy: 5j, 12k)
set relativenumber
" Enable syntax highlighting
syntax on
" Use spaces instead of tabs (most config files expect spaces)
set expandtab
" Set tab width to 2 spaces (common for YAML, Nginx configs)
set tabstop=2
set shiftwidth=2
set softtabstop=2
" Highlight search results as you type
set incsearch
set hlsearch
" Case-insensitive search unless uppercase is used
set ignorecase
set smartcase
" Show matching brackets
set showmatch
" Always show the status line (shows filename and position)
set laststatus=2
" Enable mouse support (useful in modern terminals)
set mouse=a
" Show current mode in status line
set showmode
" Set pastetoggle to F2 (toggle paste mode for clean pasting over SSH)
set pastetoggle=<F2>
" Disable swap files (avoids .swp clutter on servers)
set noswapfile
" Enable filetype detection (loads correct indentation for yaml, json, etc.)
filetype plugin indent on
" Highlight the current line
set cursorline
" Show whitespace characters (catch trailing spaces and mixed indentation)
set list
set listchars=tab:»·,trail:·
Speichern und beenden Sie mit :wq. Die Einstellungen werden beim nächsten Öffnen von Vim wirksam.
Um Ihre .vimrc ohne Neustart von Vim neu zu laden:
:source ~/.vimrc
Einfügemodus für SSH-Sitzungen
Wenn Sie Text aus Ihrer lokalen Zwischenablage über SSH in Vim einfügen, kann die automatische Einrückung einen Kaskadeneffekt erzeugen, bei dem jede Zeile weiter nach rechts rückt. Das passiert, weil Vim eingefügten Text als getippte Eingabe behandelt und auf jede Zeile Einrückungsregeln anwendet.
Aktivieren Sie den Einfügemodus vor dem Einfügen:
- Drücken Sie
F2(wenn Siepastetogglewie oben gezeigt eingestellt haben) oder geben Sie:set pasteein - Wechseln Sie mit
iin den Einfüge-Modus - Fügen Sie Ihren Text ein (Ctrl+Shift+V oder Rechtsklick in Ihrem Terminal)
- Drücken Sie erneut
F2oder geben Sie:set nopasteein
Moderne Terminals mit Vim 8.2+ unterstützen den Bracketed-Paste-Modus, der dies automatisch handhabt. Wenn Sie einen aktuellen Terminal-Emulator verwenden (kitty, Alacritty, WezTerm, aktuelles GNOME Terminal), ist das Umschalten des Einfügemodus möglicherweise nicht nötig.
Wie füge ich Plugins mit vim-plug hinzu?
vim-plug ist ein schlanker Plugin-Manager, der Plugins parallel installiert. Er erfordert den Download einer einzigen Datei und ein paar Zeilen in Ihrer .vimrc.
vim-plug installieren
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Prüfen Sie, ob die Datei existiert:
ls -la ~/.vim/autoload/plug.vim
Sie sollten die Datei mit Ihrem Benutzer als Eigentümer sehen.
Plugins in der .vimrc konfigurieren
Fügen Sie einen Plugin-Block am Anfang Ihrer ~/.vimrc hinzu, vor den Einstellungen:
call plug#begin('~/.vim/plugged')
" File explorer sidebar
Plug 'preservim/nerdtree'
" Fuzzy file finder
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
" Git status indicators in the gutter
Plug 'airblade/vim-gitgutter'
call plug#end()
Speichern Sie die Datei und installieren Sie die Plugins:
:source ~/.vimrc
:PlugInstall
vim-plug lädt jedes Plugin parallel herunter. Nach der Installation können Sie NERDTree mit :NERDTree öffnen, mit :Files Dateien per Fuzzy-Suche finden und Git-Diff-Markierungen in der Randleiste sehen.
Halten Sie es auf Servern minimal. Plugins erhöhen die Startzeit. Auf einem VPS, auf dem Sie gelegentlich Konfigurationsdateien bearbeiten, reichen drei bis fünf Plugins. Schwerere Setups heben Sie sich für Ihre lokale Entwicklungsmaschine auf.
Wie bearbeite ich Server-Konfigurationsdateien mit Vim über SSH?
Dieser Abschnitt behandelt Workflows, die Sie bei der Verwaltung eines VPS regelmäßig einsetzen werden. Jedes Beispiel verwendet eine echte Datei und zeigt die genauen Schritte.
Verwenden Sie sudoedit statt sudo vim
Wenn Sie Root-eigene Dateien wie /etc/nginx/nginx.conf oder /etc/ssh/sshd_config bearbeiten, verwenden Sie sudoedit statt sudo vim.
sudoedit /etc/nginx/nginx.conf
sudoedit kopiert die Datei an einen temporären Speicherort, öffnet sie mit dem Vim Ihres Benutzers (einschließlich Ihrer .vimrc-Einstellungen und Plugins) und kopiert sie nach dem Speichern und Beenden mit Root-Rechten zurück. Das ist aus zwei Gründen sicherer als sudo vim:
sudo vimführt Vim als Root aus. Jeder Vim-Befehl wie:!bashstartet eine Root-Shell. Auf Mehrbenutzersystemen ist das ein Risiko für Rechteausweitung.sudoeditbewahrt Ihre Benutzerumgebung. Sie behalten Ihre Syntaxhervorhebung, Zeilennummern und Tastenkürzel.
Einen Nginx-Server-Block bearbeiten
Öffnen Sie die Standard-Site-Konfiguration:
sudoedit /etc/nginx/sites-available/default
Finden Sie die server_name-Direktive, indem Sie /server_name eingeben und Enter drücken. Vim springt zum Treffer. Drücken Sie cw, um das Wort nach der Direktive zu ändern, geben Sie Ihre Domain ein, drücken Sie Esc.
Überprüfen Sie nach dem Speichern die Nginx-Konfigurationssyntax:
sudo nginx -t
Erwartete Ausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dann laden Sie neu:
sudo systemctl reload nginx
Den SSH-Port in sshd_config ändern
sudoedit /etc/ssh/sshd_config
Suchen Sie die Port-Direktive:
/^#\?Port
Diese Regex findet sowohl Port als auch #Port (auskommentiert). Wenn die Zeile auskommentiert ist, drücken Sie 0, um zum Zeilenanfang zu gehen, drücken Sie x, um das # zu löschen, dann drücken Sie f gefolgt von einem Leerzeichen, um zum Leerzeichen vor der Portnummer zu springen. Drücken Sie cw, geben Sie die neue Portnummer ein (zum Beispiel 2222) und drücken Sie Esc.
Überprüfen Sie die Konfiguration:
sudo sshd -t
Keine Ausgabe bedeutet, dass die Syntax gültig ist. Starten Sie den Dienst neu:
sudo systemctl restart sshd
Bevor Sie die Verbindung trennen, öffnen Sie eine zweite SSH-Sitzung auf dem neuen Port, um zu überprüfen, ob Sie sich noch verbinden können. Den SSH-Zugang durch eine Portänderung ohne Test zu verlieren, ist ein häufiger Fehler.
Eine Docker-Compose-Datei bearbeiten
vim ~/myapp/docker-compose.yml
YAML-Dateien sind einrückungsempfindlich. Die zuvor festgelegten .vimrc-Einstellungen (2 Leerzeichen, expandtab) handhaben das korrekt. Wenn Sie Tabulatorzeichen in einer YAML-Datei sehen, konvertieren Sie sie:
:%s/\t/ /g
Das ersetzt alle Tabs durch zwei Leerzeichen. Speichern und validieren Sie die Datei:
docker compose config --quiet
Keine Ausgabe bedeutet, dass das YAML gültig ist. Bei einem Syntaxfehler gibt Docker Compose die Zeilennummer aus. Springen Sie in Vim direkt zu dieser Zeile mit vim +42 docker-compose.yml (wobei 42 die Fehlerzeile ist).
Eine systemd-Unit-Datei bearbeiten
sudoedit /etc/systemd/system/myapp.service
Nach dem Speichern von Änderungen an einer systemd-Unit laden Sie den Daemon neu:
sudo systemctl daemon-reload
Starten Sie dann den Dienst neu und überprüfen Sie:
sudo systemctl restart myapp
sudo systemctl status myapp
Prüfen Sie die Zeile Active: in der Statusausgabe. Sie sollte active (running) anzeigen. Wenn sie failed anzeigt, lesen Sie die Logs:
journalctl -u myapp -n 20 --no-pager
Vim-Spickzettel
Die zehn Befehle, die Sie am ersten Tag brauchen:
| Befehl | Aktion |
|---|---|
i |
Einfüge-Modus starten |
Esc |
Zum Normal-Modus zurückkehren |
:wq |
Speichern und beenden |
:q! |
Beenden ohne zu speichern |
dd |
Zeile löschen |
u |
Rückgängig |
/text |
Vorwärts suchen |
:%s/old/new/g |
Alle in der Datei ersetzen |
:sp file |
Fenster teilen |
F2 |
Einfügemodus umschalten |
Für die vollständige Referenz mit Navigation, Bearbeitung, visuellem Modus, Buffern, Splits, Regex-Mustern und Server-Workflow-Shortcuts lesen Sie unseren Vim-Spickzettel.
Etwas funktioniert nicht?
Vim hat sich geöffnet und ich kann nicht tippen. Sie befinden sich im Normal-Modus. Drücken Sie i, um in den Einfüge-Modus zu wechseln.
Ich sehe -- INSERT --, aber meine Tastenanschläge machen seltsame Dinge. Möglicherweise haben Sie versehentlich Ctrl+s gedrückt, was die Terminalausgabe einfriert. Drücken Sie Ctrl+q zum Auftauen.
Mein eingefügter Text hat eine Treppeneinrückung. Aktivieren Sie den Einfügemodus mit F2 oder :set paste vor dem Einfügen. Vergessen Sie nicht, ihn danach wieder zu deaktivieren: erneut F2 oder :set nopaste.
Vim meldet "E45: 'readonly' option is set." Die Datei ist schreibgeschützt. Beenden Sie mit :q und öffnen Sie erneut mit sudoedit /Pfad/zur/Datei.
Ich habe einen Fehler gemacht und gespeichert. Wenn die Datei eine Systemkonfiguration ist, hat Vim möglicherweise eine Sicherungskopie hinterlassen. Suchen Sie nach filename~ im selben Verzeichnis. Sie können auch nach dem erneuten Öffnen rückgängig machen, wenn Sie set undofile und set undodir=~/.vim/undodir in Ihrer .vimrc gesetzt haben (erstellen Sie zuerst das Verzeichnis mit mkdir -p ~/.vim/undodir).
Swap-Datei-Warnung: ".file.swp" existiert bereits. Eine vorherige Vim-Sitzung ist abgestürzt oder noch geöffnet. Wenn keine andere Sitzung die Datei bearbeitet, wählen Sie (D)elete, um die Swap-Datei zu entfernen. Wenn Sie Swap-Dateien in Ihrer .vimrc deaktiviert haben (set noswapfile), tritt dies nicht auf.
Nächste Schritte: Kombinieren Sie Vim mit einem Terminal-Multiplexer, damit Ihre Bearbeitungssitzungen Verbindungsabbrüche überleben. Lesen Sie unsere Anleitung zu tmux oder zu GNU Screen. Für die Nginx-Konfigurationsbeispiele in diesem Artikel finden Sie die vollständige Anleitung zur Nginx-Administration.
Copyright 2026 Virtua.Cloud. Alle Rechte vorbehalten. Dieser Inhalt ist ein Originalwerk des Virtua.Cloud-Teams. Vervielfältigung, Wiederveröffentlichung oder Weiterverbreitung ohne schriftliche Genehmigung ist untersagt.
Bereit, es selbst auszuprobieren?
Stellen Sie Ihren eigenen Server in Sekunden bereit. Linux, Windows oder FreeBSD.
VPS-Angebote ansehen