Vim ist der Standard-Texteditor auf Linux-Servern. Er ist auf praktisch jedem System vorinstalliert und ermöglicht schnelle Textbearbeitung direkt im Terminal.
Vim starten
# Datei öffnen
vim datei.txt
# Mehrere Dateien
vim datei1.txt datei2.txt
# An bestimmter Zeile starten
vim +100 datei.txt
# Read-only
vim -R datei.txt
view datei.txt
Modi
Vim arbeitet mit verschiedenen Modi:
Modus
Zweck
Aktivieren
Normal
Navigation, Befehle
Esc
Insert
Text eingeben
i, a, o
Visual
Text markieren
v, V, Ctrl+v
Command
Befehle eingeben
:
Beenden
:q - Beenden
:q! - Beenden ohne Speichern
:w - Speichern
:wq - Speichern und Beenden
:x - Speichern und Beenden
ZZ - Speichern und Beenden (Normal-Modus)
ZQ - Beenden ohne Speichern (Normal-Modus)
Navigation (Normal-Modus)
Basis-Bewegungen
Taste
Bewegung
h
Links
j
Runter
k
Hoch
l
Rechts
w
Nächstes Wort
b
Vorheriges Wort
e
Wortende
0
Zeilenanfang
$
Zeilenende
^
Erstes Zeichen der Zeile
Erweiterte Navigation
Taste
Bewegung
gg
Dateianfang
G
Dateiende
100G
Zu Zeile 100
{
Absatz hoch
}
Absatz runter
Ctrl+f
Seite vorwärts
Ctrl+b
Seite rückwärts
Ctrl+d
Halbe Seite runter
Ctrl+u
Halbe Seite hoch
%
Zur passenden Klammer
Insert-Modus
Taste
Aktion
i
Vor Cursor einfügen
a
Nach Cursor einfügen
I
Am Zeilenanfang einfügen
A
Am Zeilenende einfügen
o
Neue Zeile darunter
O
Neue Zeile darüber
Esc
Zurück zum Normal-Modus
Bearbeiten (Normal-Modus)
Löschen
Befehl
Aktion
x
Zeichen löschen
dw
Wort löschen
dd
Zeile löschen
d$
Bis Zeilenende löschen
d0
Bis Zeilenanfang löschen
dG
Bis Dateiende löschen
5dd
5 Zeilen löschen
Kopieren und Einfügen
Befehl
Aktion
yy
Zeile kopieren (yank)
yw
Wort kopieren
y$
Bis Zeilenende kopieren
5yy
5 Zeilen kopieren
p
Nach Cursor einfügen
P
Vor Cursor einfügen
Ändern
Befehl
Aktion
cw
Wort ändern
cc
Zeile ändern
c$
Bis Zeilenende ändern
r
Einzelnes Zeichen ersetzen
R
Replace-Modus
~
Groß-/Kleinschreibung wechseln
Rückgängig
Befehl
Aktion
u
Rückgängig (Undo)
Ctrl+r
Wiederholen (Redo)
.
Letzten Befehl wiederholen
Visual-Modus
v - Zeichen markieren
V - Zeilen markieren
Ctrl+v - Block markieren
Nach Markierung:
d - Löschen
y - Kopieren
c - Ändern
> - Einrücken
< - Ausrücken
Suchen und Ersetzen
Suchen
/suchbegriff - Vorwärts suchen
?suchbegriff - Rückwärts suchen
n - Nächster Treffer
N - Vorheriger Treffer
* - Wort unter Cursor suchen
Ersetzen
:s/alt/neu/ - Erstes in Zeile ersetzen
:s/alt/neu/g - Alle in Zeile ersetzen
:%s/alt/neu/g - Alle in Datei ersetzen
:%s/alt/neu/gc - Mit Bestätigung
:5,10s/alt/neu/g - In Zeilen 5-10
Regex-Beispiele
" Zeilenenden von Windows zu Unix
:%s/\r//g
" Leerzeilen entfernen
:g/^$/d
" Mehrfache Leerzeichen zu einem
:%s/ \+/ /g
" HTML-Tags entfernen
:%s/<[^>]*>//g
" Grundeinstellungen
set nocompatible
syntax on
filetype plugin indent on
" Zeilennummern
set number
set relativenumber
" Suche
set hlsearch
set incsearch
set ignorecase
set smartcase
" Einrückung
set expandtab
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
" UI
set showcmd
set showmode
set ruler
set wildmenu
set laststatus=2
" Encoding
set encoding=utf-8
" Keine Backup-Dateien
set nobackup
set noswapfile
" Maus
set mouse=a
" Farben
colorscheme desert
set background=dark
" Tasten-Mappings
let mapleader = ","
nnoremap <leader>w :w<CR>
nnoremap <leader>q :q<CR>
nnoremap <C-n> :bn<CR>
nnoremap <C-p> :bp<CR>
" Schnelles Escape
inoremap jj <Esc>
" Clipboard
set clipboard=unnamedplus
Nützliche Befehle
Informationen
:set - Gesetzte Optionen
:set all - Alle Optionen
Ctrl+g - Datei-Info
g Ctrl+g - Position in Datei
" Config-Datei bearbeiten
vim /etc/nginx/nginx.conf
" Suchen in Logs
vim +/ERROR /var/log/syslog
" Mehrere Dateien durchsuchen
:vimgrep /pattern/ **/*.conf
:copen
" Sudo speichern (wenn vergessen)
:w !sudo tee %
Schnelle Fixes
" Zeile duplizieren
yyp
" Zeilen tauschen
ddp
" Wort unter Cursor groß
gUiw
" Gesamte Datei einrücken
gg=G
Zusammenfassung
Modus
Aktivierung
Normal
Esc
Insert
i, a, o
Visual
v, V
Command
:
Befehl
Aktion
:w
Speichern
:q
Beenden
:wq
Speichern + Beenden
dd
Zeile löschen
yy
Zeile kopieren
p
Einfügen
u
Undo
/text
Suchen
Datei
Funktion
~/.vimrc
Konfiguration
~/.vim/
Plugins etc.
Fazit
Vim erfordert eine Eingewöhnungsphase, lohnt sich aber für jeden Administrator. Die modale Bearbeitung ermöglicht effizientes Arbeiten ohne Maus. Mit einer guten .vimrc wird Vim komfortabel. Die Tastenkombinationen funktionieren systemweit. Vim ist auf jedem Server verfügbar - ein einmal erlerntes Tool für immer.