vi editor commands
About this task
cheat sheet
Applies to
Unix vi editor
Procedure
Vi editor command keys:
ZZ Exit, saving changes t<x> Up to <x> forward Q Enter ex mode T<x> Back up to <x> <ESC> End of insert <x>| Go to column <x> :<cmd> Execute ex command w,W Forward one word :!<cmd> Shell command b,B Back one word ^g Show filename/size e,E End of word ^f Forward one screen ^h Erase last character ^b Back one screen ^w Erase last word ^d Forward half screen ^? Interrupt ^u Backward half screen ~ Toggle character case <x>G Go to line <x> a Append after /<x> Search forward for <x> i,I Insert before ?<x> Search backward for <x> A Append at end of line n Repeat last search o Open line below N Reverse last search O Open line above ]] Next section/function r Replace character [[ Previous section/function R Replace characters % Find matching () { or } d Delete ^l Redraw screen dd Delete line ^r Refresh screen c Change z<CR> Current line at top y Yank lines to buffer z- Current line at bottom C Change rest of line ^e Scroll down one line D Delete rest of line ^y Scroll up one line s Substitute character `` Previous context S Substitute lines H Home window line J Join lines L Last window line x Delete after M Middle window line X Delete before + Next line Y Yank current line hjkl Cursor movement: p Put back lines left/down/up/right P Put before 0 Beginning of line << Shift line left $ End of line >> Shift line right f<x> Find <x> forward u Undo last change F<x> Find <x> backward U Restore current line
Ex mode commands:
q Quit set <x> Enable option q! Quit, discard changes set no<v> Disable option r <f> Read in file <f> set all Show all options sh Invoke shell vi Vi mode wq Write and quit w <f> Write file <f> w! <f> Overwrite file <f>
Options:
autoindent Automatic line indentation autowrite Write before quit ignorecase Ignore case in searches number Display line numbers showmatch Show matches to ) and } as typed terse Quiet mode wrapscan Wraparound in searches wrapmargin Automatic line splitting