Tool.Yun
Praktische Tools für Entwickler
Barcode-Generator
Barcode-Lesegerät
GTIN-Validator
QR-Code-Decoder
QR-Code-Generator
QR-Kontaktinfo-Generator
WLAN-QR-Code-Generator
tools.epc-qrcode-generator.name
Bild zu SVG (Potrace)
Bild zuschneiden
Bild-EXIF/Metadaten/GPS/JPEG-Qualitätsleser
Bildervergleich
Bildfarbinverter
Bildformatkonverter
Bildgrößenänderung
Bildhintergrund entfernen
EXIF entfernen
GIF zu MP4
HEIC-Konverter
ICO/PNG-Konverter
Kamera-Rekorder
OCRize Bild und PDF
SVG-Vorschau
Wasserzeichen
BMI-Rechner
Erkläre den Shell-Befehl
IBAN-Validator und -Parser
IES-Beleuchtungsrichtlinien
ISBN-Validator und -Parser
ISO 3166 Ländercode-Sucher
ISO 639 Searcher
Kalenderkonverter
Kreditkarten-Checker
Lauftempo-Rechner
Luhn-Validator
MwSt.-Nummern-Validator
Online-Wörterbuch
RMB-Großbuchstabenkonverter
SLA-Rechner
Softwarelizenzkompatibilität
Telefonnummer-Parser und -Formatter
Unicode-Suche
Währungsrechner
Chronometer
Countdown
Cron/Wochentagsalarm
Datum-Uhrzeit-Konverter
Datums- und Dauerrechner
Dauerrechner
ETA-Rechner
ICAL-Dateiparser
ICAL-Generator
TTL-Rechner
Tagesrechner
Welcher Tag?
Wochennummern-Konverter
Zeitalarm
Zeitzonenkonverter
iCal-Fusion
Docker Compose Formatkonverter
Docker Compose in .env-Datei
Docker Compose zu Kubernetes
Docker Compose zu Quadlets
Docker Compose-Validator
Docker Image Downloader
Docker Pangolin Labels
Docker run zu Docker compose Konverter
Docker-Inspektion zum Docker-Ausführen
Docker-Lauf zu Kubernetes
Docker-Lauf zu Quadlets
Dockerfile-Labelgenerator
Konverter von Docker Compose zu Docker Run
Kubernetes RBAC-Generator
Traefik Docker Compose Maker
ANSI-Fluchttester
API-Tests
Angebotskonverter
CLI-Befehlseditor
CSS/JS-Formatierung und -Minifizierung
Code-/Skript-Highlighter
Curl-Konverter
Dateisplitter
Datenbank-Erstellungs-Generator
Datenbanktabellengenerator
Datenfälscher
Django Secret Generator
Favicon-Generator
Generator für Datenbankverbindungszeichenfolgen
GitIgnore Generator
Gitattributes-Generator
HEX-Dateikonverter
Javascript-Unobfuscator/Entpacker
Javascript-Verschleierung
Javascript-Verschönerung
Json zu Protobuf
Json zu SQL INSERT
Json zu Typescript
K6 Lasttest-Skriptgenerator
Mailto-Generator
Open Graph Meta-Generator
Picomatch-Tester
Pomodoro-Timer
SQL verschönern und formatieren
SQL-Minimierer
SQL-Parametergenerator
Stacktrace hübscher
String Escaper
Swagger UI-Tester
Tilgungsrechner
ActiveDirectory LDAP-Eigenschaftensucher
Bounce-E-Mail-Parser
Cookies-Parser
DMARC-Berichtsanalysator
DNS-Propagationstester
DNS-Tester
Dateityp-Detektor
E-Mail-Parser
EMV TLV-Decoder
ETH-Transaktionsdecoder
GZip/Deflate-Konverter
HTTPS-Tester
Hex-Encoder/Decoder
Keycode-Info
Konverter für Fließkommazahlen
Kurz-URL-Expander
MIME-Kodierungskonverter
Maskierung sensibler Daten
Middle-Endian-Konverter
MongoDB ObjectId-Konverter
Nmap-Befehlsgenerator
Outlook Safelink-Decoder
Outlook-MSG-Parser
Parquet-Dateien Reader
Pixelfehlertester
RJ45 Cat6 Verkabelungs-Spickzettel
SMART Raw-Konverter
Serielle Portkonsole
Sharepoint-Freigabe-URL-Decoder
Snowflake-ID-Extraktor
TCPDump-Generator
Text-Zeichensatz-Detektor/Decoder
URL-Generator
URL-Parser
Widerstandsrechner
键盘测试器
BIP39-Passphrasengenerator
Diceware-Passwortgenerator
NanoIDs-Generator
Numeronym-Generator
OTP-Code-Generator
PIN-Code-Generator
Passphrase-Generator
Token-Generator
UUID-Generator
UUID-Konverter
Zufallszahlengenerator
CSV zu JSON
JS-zu-JSON-Konverter
JSON Linter
JSON für unterwegs
JSON minifizieren
JSON nach C#
JSON verschönern und formatieren
JSON zu .env
JSON zu CSV
JSON zu Daten
JSON zu Java Entity
JSON zu MessagePack
JSON zu TOML
JSON zu TS
JSON zu XML
JSON zu YAML
JSON zum Objekt
JSON-Abfrage
JSON-Editor
JSON-Flattener/Unflattener
JSON-Größenanalysator
JSON-Sortiermaster
JSON-Unterschied
JSON-Zusammenführung
JSON-zu-JS-Konverter
JSON-zu-PHP-Code
Jq/JSONPath-Tester
Json Escaper/Unescaper
Json zu PHP-Array
Json zu Python
Json zu SQL DDL
Json zu Schema
Json-String-Konverter
Message Pack zu JSON
ObjGen zu JSON
PHP-Array zu JSON
tools.json-patch.name
Base64-Dateikonverter
Base64-Hex-Array-Encoder/Decoder
Base64-String-Encoder/Decoder
CSV zu Daten
Datenspeichereinheit-Konverter
E-Mail-Normalisierung
Eigenschaftenkonverter
Energieverbrauchs- und -kostencomputer
Env-Variablen-Formatkonverter
Excel in Daten
Ganzzahl-Basiskonverter
Geografische Koordinatenkonverter
Konverter von Unicode-Zeichen in Java-Entitäten
Römische Zahlen Konverter
Text zu ASCII-Binär
Text zu Unicode
Torrent zu Magnet
ULID-Generator
Viele Einheiten-Umrechner
dBm mW Konverter
AGE-Kryptographie
Ansible Vault Crypt entschlüsseln
Argon2 Hasher
Bcrypt
Bech32-Encoder/Decoder
CRC-Rechner
CSR-Generator
Datei-Hasher
ECDSA-Schlüsselpaargenerator
Ed25519 Schlüsselpaargenerator
HMAC-Generator
JWT-Generator
JWT-Parser
Jasypt-Stringverschlüsselung
Niceware Bytes zu Passphrase
PGP-Dateiverschlüsselung
PGP-Schlüssel
PGP-Verschlüsselung
Paseto/PASERK Lokal
Paseto/PASERK Öffentlich/Privat
RSA-Schlüsselpaar-Generator
RSA-Verschlüsselung
RSA/DSA/ECDSA-Signierer und -Verifizierer
SAML-Parser
SSL-Zertifikatkonverter
Shamirs Geheimnisteilung
Text hashen
Text verschlüsseln / entschlüsseln
X509-Zertifikatgenerator
Zertifikat-/Schlüsselparser
Als Markdown einfügen
Epub zu Markdown
HTML zu Markdown
Markdown Diff
Markdown Lorem Ipsum
Markdown zu DOCX
Markdown zu Daten
Markdown zu HTML
Markdown zu Text
Markdown-Editor
Markdown-Inhaltsverzeichnisgenerator
Markdown-Tabellengenerator
Markdown-Tabellenverschönerer
Markdown-Vorschau
tools.markdown-format-converter.name
Binärrechner
Konverter für mathematische Formate
Mathematische OCR
Mathematischer Auswerter
Trinkgeldrechner
Visualisierung trigonometrischer Kurven/Gleichungskurven
Benchmark-Builder
Geo-Entfernungsrechner
Prozentrechner
Seitenverhältnis-Rechner
ARPA-Decoder
Apache LogRotate Generator
BIMI DNS-Generator
Basic-Auth-Generator
Befehlsgenerator zum Herunterfahren
Chmod-Rechner
Cloudflare DNS/RDAP-Abfragen
Crontab-Generator
Curl-Befehlsgenerator
DKIM DNS Generator
DMARC DNS Generator
DNS-Abfragen
DNSBL-Checker
FStab-Generator
Festplattenrechner
Ganzzahlen zu IPv4/IPv6
HAS Desinfektionsmittel
HTAccess-Generator
Htpasswd/htaccess-Generator
IP-Geostandort
IPv4-6/IPRange/CIDR in IPRange/CIDR/IPMask
IPv4-Adresskonverter
IPv4-Bereichserweiterer
IPv4-Subnetzliste
IPv4-Subnetzrechner
IPv4/6 CIDR-zu-IP-Bereichsrechner
IPv4/6-Bereich zu CIDR(s)-Rechner
IPv6-Adresskonverter
IPv6-Subnetzrechner
IPv6-ULA-Generator
Iptables-Generator
Klingeln
Linearisierer für Shell-Befehle
MAC-Adressen-Generator
MAC-Adressensuche
MAC-Adresskonverter
Meine IP-Adresse
Mikrofonprufung
Multi-Link-Downloader
Nginx-Formatierer
Option43 Generator
PTR-DNS-Generator
Passwortstärken-Analysator
Portnummern
Punycode-Konverter
RAID-Rechner
RAID-Zuverlässigkeitsrechner
Rechner für die Datenübertragungsrate
Rechner zum Ausschließen von IP-Subnetzen
Rsync-Generator
SIP-Autorisierung
SPF-DNS-Generator
Shell-Befehlsformatierer
TCP/UDP-Porttester
UFW-Befehlsgenerator
Visueller Subnetzrechner
WPA PSK-Generator
Websocket-Tests
Whois-Checker
Wireguard-Konfigurationsgenerator
X-VR-SpamCause Decoder
ZPOOL RAID-Rechner
ZPool-Spickzettel
Zufälliger Port-Generator
Zxcvbn-Passwortstärke
firewalld-Befehlszeilengenerator
tools.restic-command-generator.name
tools.url-redirection-checker.name
HTML zu PDF
PDF entschlüsseln und entsperren
PDF-Kompressor
PDF-Linearisierung/FastWeb
PDF-Seitenextraktor
PDF-Signaturprüfer
PDF-Textextraktor
PDF-Verkettung
PDF-Verschlüsselung
Beleuchtungsstärke
Beschleunigungswandler
Drehzahlwandler
Druckeinheiten-Umrechner
Energieeinheiten-Umrechner
Fitnesscomputer
Flächeneinheiten-Umrechner
Frequenzumrichter
Krafteinheiten-Umrechner
Lebensmittel-Energie-Umrechner
Leistungswandler
Längeneinheiten-Umrechner
Masseneinheiten-Umrechner
SI-Präfix-Konverter
Temperaturkonverter
Volumeneinheiten-Umrechner
Volumenstrom-Umrechner
Winkeleinheiten-Umrechner
Allgemeines Regex-Spickzettel
Bash-Spickzettel
Docker Compose-Spickzettel
Docker SWARM-Spickzettel
Docker-Spickzettel
Dockerfile-Spickzettel
Git-Spickzettel
Jq Spickzettel
K8s Spickzettel
Markdown-Spickzettel
Nano-Spickzettel
Nginx-Spickzettel
PowerShell-Spickzettel
Regex-Spickzettel
Sed-Spickzettel
Spickzettel für Bildschirmbefehle
Spickzettel für CSS-Selektoren
Spickzettel für semantische Git-Commits
Spickzettel zur JSONPath-Syntax
Spickzettel zur XPath-Syntax
Tmux-Befehlsübersicht
VIM-Spickzettel
Zellij-Befehlsübersicht
chmod-Befehlsübersicht
Glücksrad
Kartenauswahl
Münzwerfer
Würfelroller
Cron-Ausdrucks-Generator
TOML Linter
TOML zu JSON
TOML zu YAML
ASCII-Art-Text-Generator
Bild in ASCII-Art
Doppelte Zeilensuche
Emoji-Picker
Fall-Konverter
GPT-Token-Encoder/Decoder
GPT-Token-Schätzer
I und L Prüfer
Intelligenter Textersetzer und Zeilenumbruch
JSON zu TOON
KI-Eingabeaufforderungssplitter
Levenshtein-Rechner
Listen Vergleichen
Listenkonverter
Lorem Ipsum Generator
Meerjungfrau-Exporteur
Morsecode-Konverter
Ordnerstrukturdiagramm
Packdateien für AI
RSVP-Leser
Regex-Tester
Runenkonverter
Schriftartenvergleich
Sed-Befehlsgenerator
Social Link Sharer
String-Verschleierer
TOON zu JSON
Tabulator zu Leerzeichen
Tastaturlayout-Konverter
Text aus HTML extrahieren
Text in Unicode-Namen
Text zu NATO-Alphabet
Textstatistiken
Textunterschied
Textübersetzer
Unicode zu GSM-7
Unicode-Formatierer
Verschiedene Wörter
Zalgo Generator/Banner
Zitatgenerator
Zufällige Zeilenauswahl
Bild zu CSS
CSS XPath-Konverter
CSS-Einheitenumrechner
CSS-Gradientengenerator
CSS-Verschönerer
Farbkontrast-Checker
Farbkonverter
Farbrad
Geräteinformationen
HTML zu Daten
HTML zu XHTML
HTML-Entity-Escape
HTML-Minimierer
HTML-Reiniger
HTML-Verschönerer
HTML-WYSIWYG-Editor
HTTP-Statuscodes
Kodieren/Decodieren von URL-formatierten Zeichenfolgen
MIME-Typen
REM-Pixelkonverter
SVG-Platzhalter-Generator
Slugify String
URL-Catcher
URL-Reiniger
URL-Textsuchfragment-Ersteller
UTM-URL-Generator
User-Agent-Parser
ObjectGen zu HTML
XML zu JSON
XML-Formatter
XML-Linter
XPath-Tester
XSLT-Tester
YAML verschönern und formatieren
YAML zu JSON
YAML zu TOML
YAML-Flattener/Unflattener
YAML-Fusion

VIM-Spickzettel

Vim-Texteditor-Befehle

Vim is a modal editor: keys mean different things depending on the mode you are in. Most commands compose as count + operator + motion — 3dw deletes three words, d$ deletes to the end of the line — so learning a new motion instantly upgrades every operator you already know.

💡 New to Vim? Run vimtutor in a terminal — 30 minutes, and the rest of this sheet starts making sense.

🚦 Modes

ModeEnter withLeave withFor
NormalEsc (or Ctrl-[)—Moving and running commands
Inserti a o I A OEscTyping text
Visualv V Ctrl-vEscSelecting text
Command-line: / ?Enter or EscEx commands and searches
ReplaceREscOvertyping

🧭 Cursor Movement

KeyMoves to
h j k lLeft, down, up, right
w / WStart of the next word / WORD (WORD ignores punctuation)
e / EEnd of the next word / WORD
b / BStart of the previous word / WORD
ge / gEEnd of the previous word / WORD
0First column of the line
^First non-blank character
$End of the line
g_Last non-blank character
f<char> / F<char>Next / previous occurrence of a character on the line
t<char> / T<char>Just before the next / after the previous occurrence
; / ,Repeat the last f/t forwards / backwards
} / {Next / previous paragraph
) / (Next / previous sentence
gg / GFirst / last line of the file
<n>G or :<n>Line n
H M LTop, middle, bottom of the screen
Ctrl-d / Ctrl-uHalf a page down / up
Ctrl-f / Ctrl-bA full page down / up
zz zt zbScroll so the cursor line is centred / at the top / at the bottom
%The matching bracket, brace or parenthesis
Ctrl-o / Ctrl-iBack / forward through the jump list
g; / g,Back / forward through the change list
'' / ``Back to where the last jump started

✏️ Entering Insert Mode

KeyStarts typing
i / IBefore the cursor / at the first non-blank character
a / AAfter the cursor / at the end of the line
o / OOn a new line below / above
s / SDeleting the character / the whole line first
ccReplacing the whole line
CReplacing from the cursor to the end of the line
giWhere you last left insert mode
Ctrl-oRun one normal-mode command, then return to insert

🔧 Operators & Text Objects

An operator waits for a motion or a text object. Doubling the operator (dd, yy, >>) applies it to the whole line.

OperatorDoes
dDelete (into a register)
cChange — delete, then insert
yYank (copy)
> / <Indent / unindent
=Re-indent
gu / gU / g~Lower-case / upper-case / toggle case
gqReformat to textwidth
Text objectSelects
iw / awInner word / a word plus its trailing space
is / asSentence
ip / apParagraph
i" a"Inside / including the double quotes
i' a'Inside / including the single quotes
i( a(Inside / including the parentheses (also ib, ab)
i{ a{Inside / including the braces (also iB, aB)
i[ a[Inside / including the brackets
i< a<Inside / including the angle brackets
it / atInside / including an HTML or XML tag
ciw     change the word under the cursor
ci"     change everything inside the quotes
da(     delete the parentheses and their contents
yi{     yank the body of a block
2dd     delete two lines
d3w     delete three words
>ap     indent the whole paragraph

✂️ Editing

KeyDoes
x / XDelete the character under / before the cursor
r<char>Replace one character, staying in normal mode
ROvertype until Esc
~Toggle the case of one character
J / gJJoin the next line, with / without a space
u / Ctrl-rUndo / redo
UUndo every change on the current line
.Repeat the last change — the most valuable key in Vim
Ctrl-a / Ctrl-xIncrement / decrement the number under the cursor
>> / <<Indent / unindent the line
==Re-indent the line
:earlier 10m / :later 5mMove through the undo tree by time

📋 Copy, Paste & Registers

KeyDoes
yy (or Y)Yank the line
y<motion>Yank what the motion covers
p / PPaste after / before the cursor
]pPaste and match the current indentation
dd / DDelete the line / to the end of the line
"ayy / "apYank into and paste from register a
"+y / "+pYank to and paste from the system clipboard
"0pPaste the last yank (never overwritten by deletes)
:registersShow every register
xp / ddpSwap two characters / two lines

⚠️ In Vim, deleting also yanks — dd overwrites the unnamed register. Use "0p to paste what you last copied, or yank into a named register first.

🔍 Search & Replace

CommandDoes
/pattern / ?patternSearch forwards / backwards
n / NNext / previous match
* / #Search for the word under the cursor, forwards / backwards
:nohClear the search highlighting
:s/old/new/Replace the first match on the line
:s/old/new/gReplace every match on the line
:%s/old/new/gReplace throughout the file
:%s/old/new/gc…asking for confirmation on each
:%s/old/new/gi…ignoring case
:'<,'>s/old/new/gOnly inside the visual selection
:%s/\<word\>/new/gWhole words only
&Repeat the last substitution on this line

The global command

:g runs an Ex command on every line matching a pattern — the power tool of Vim.

:g/TODO/d           delete every line containing TODO
:v/keep/d           delete every line NOT containing 'keep' (:v is :g!)
:g/^$/d             delete all blank lines
:g/error/normal A;  append a semicolon to every matching line
:g/pattern/t$       copy matching lines to the end of the file
:g/pattern/m0       move matching lines to the top (reverses their order)

🎨 Visual Mode

KeyDoes
vCharacter-wise selection
VLine-wise selection
Ctrl-vBlock (column) selection
gvReselect the previous selection
oJump to the other end of the selection
d / y / cDelete, yank or change the selection
> / <Indent / unindent the selection
u / U / ~Lower-case, upper-case, toggle
:'<,'>Run an Ex command over the selection
Ctrl-v, select lines, I, type, Esc     insert the same text on every line
Ctrl-v, select lines, $, A, type, Esc  append at the end of every line
Ctrl-v, select, d                      delete a rectangular block

🔖 Marks & Jumps

KeyDoes
m<a-z>Set a mark in this file
m<A-Z>Set a global mark, across files
`aJump to mark a, exact position
'aJump to the start of the line holding mark a
`.Jump to the position of the last edit
:marksList every mark
:delmarks aDelete a mark

🎬 Macros

KeyDoes
q<a-z>Start recording into a register
qStop recording
@aPlay the macro back
@@Replay the last macro
10@aRun it ten times
:%normal @aRun it on every line of the file

📂 Files, Buffers, Windows & Tabs

CommandDoes
:e <file>Open a file
:e!Reload, discarding changes
:w / :w <file>Save / save as
:waSave every changed buffer
:q / :q!Quit / quit without saving
:wq or :x or ZZSave and quit
ZQQuit without saving
:ls / :buffersList the open buffers
:b <n> / :b <name>Switch to a buffer
:bn / :bp / :bdNext / previous / delete buffer
:sp / :vspSplit horizontally / vertically
Ctrl-w h j k lMove to the window in that direction
Ctrl-w wCycle through the windows
Ctrl-w q / Ctrl-w oClose this window / close all the others
Ctrl-w =Make all windows the same size
Ctrl-w + / - / < / >Resize the window
:tabnew <file>Open a new tab
gt / gTNext / previous tab
:tabc / :taboClose this tab / close all the others
:r <file> / :r !cmdRead a file, or a command’s output, into the buffer
:!<cmd>Run a shell command
:%!<cmd>Filter the whole buffer through a command
:w !sudo tee %Save a file you opened without permission

📑 Folding

KeyDoes
zf<motion>Create a fold
za / zAToggle this fold / recursively
zo / zcOpen / close this fold
zR / zMOpen / close every fold
zj / zkMove to the next / previous fold

🧩 Completion & Spelling

KeyDoes
Ctrl-n / Ctrl-pComplete a word from the open buffers
Ctrl-x Ctrl-fComplete a file path
Ctrl-x Ctrl-lComplete a whole line
Ctrl-x Ctrl-oOmni-completion (language-aware)
:set spell spelllang=en_usTurn spell checking on
]s / [sNext / previous misspelling
z=Suggestions for the word under the cursor
zg / zwAdd to the dictionary / mark as wrong

🧵 Quickfix & Diff

CommandDoes
:make / :grep <pat>Fill the quickfix list
:copen / :ccloseOpen / close the quickfix window
:cn / :cpJump to the next / previous entry
:cfirst / :clastFirst / last entry
vimdiff a bOpen two files in diff mode
]c / [cNext / previous difference
do / dpObtain / put the change under the cursor
:diffupdateRefresh the diff

⚙️ Handy :set Options

OptionEffect
:set nu / :set nonuShow / hide line numbers
:set rnuRelative line numbers — makes 5j obvious
:set ic / :set noicIgnore case when searching
:set is / :set hlsIncremental search / highlight matches
:set wrap / :set nowrapSoft-wrap long lines
:set listShow tabs and trailing whitespace
:set pasteStop auto-indent mangling pasted text
:set ft=<type>Force a file type
:set sw=4 ts=4 etFour-space indentation, spaces not tabs
:syntax onSyntax highlighting

📄 A Starting ~/.vimrc

set nocompatible
syntax on
filetype plugin indent on

set number relativenumber
set incsearch hlsearch ignorecase smartcase
set expandtab shiftwidth=2 tabstop=2
set scrolloff=5
set hidden
set undofile
set clipboard=unnamedplus

" a leader key, and a few mappings that pay for themselves
let mapleader = " "
nnoremap <leader>w :w<CR>
nnoremap <leader>/ :nohlsearch<CR>
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

ℹ️ Mappings that start with <leader> are your configuration, not built-in Vim. If a leader shortcut on someone else’s cheat sheet does nothing, that is why.

📚 Resources

  • vimtutor — the built-in 30-minute tutorial
  • :help <topic> — Vim’s own documentation, and it is excellent
  • Vim documentation
  • Vim Adventures — learn by playing
  • Practical Vim (book)