Ctrl-X Mode Ctrl-X (Insert Completion) Mode Return to Insert or Replace Mode Enter from Insert or Replace Mode Ctrl-X After leaving Completion Mode Enter Special Character State Diagram Special Character Pending up to 4 hex digits [0-9a-fA-F]{0,4} up to 8 hex digits [0-9a-fA-F]{0,8} up to 4 hex digits [0-9a-fA-F]{0,4} up to 3 octal digits [0-7]{0,3} Special Character Except: [0-9XoOxXuU] U u X x O o up to 3 decimal digits [0-9]{0,3} Return to Insert, Replace, or Virtual Replace Mode or Normal Mode if coming from one of the Replace Character Pending Modes Ctrl-V Ctrl-Q Enter from Insert, Replace, Virtual Replace Mode or one of the Replace Character Pending Modes Ctrl-X Mode Ctrl-X Mode Special Character Special Character Special Character Replace Character Pending Modes Replace Character Pending Virtual Replace Character Pending Special Character Visual Modes Visual Visual Line Visual Block Ctrl-V V v Ctrl-V v V Replace Modes Replace Virtual Replace Select Modes Select Block Select Line Select Insert Visual Modes Insert Visual Line Insert Visual Block Insert Visual Insert Select Modes Insert Select Line Insert Select Block Insert Select Operator Pending Note(s) Esc Ctrl-[ i I o O a A Ctrl-C gR :vi Ctrl-G Ctrl-G Ctrl-O :! / : ? Ctrl-V V v Insert Insert :start : Ctrl-O Q R c C Normal Mode Command Insert Normal Command-Line (Cmdline) Ex Insert Normal (Command) Normal (Command) Esc Esc Esc ! gI Esc s S Visual Mode Command Select Visual g Ctrl-H gH gh Printable Character, NL, or CR Esc Esc Esc Ctrl-V V v g Ctrl-H gH gh Ctrl-G Ctrl-G Esc Esc Visual Mode Command Select Mode Command operator CR I A VIM Modes Transition Diagram By darcyparker@gmail.com Draft (3/19/2012. But not released as a new draft) Feedback welcome :startreplace It's called 'Operator Pending', but it seems a better name would be 'Motion Pending'. r :startgreplace motion or text object c Printable Character, NL or CR C cc operator Esc motion or text object Ctrl-C r Esc Ctrl-X Ctrl-X v V Ctrl-V gv gv Ctrl-C Ctrl-C s S R J gJ u U g? Ctrl-V Ctrl-Q Ctrl-V Ctrl-Q gi Ctrl-C gr gr Note: Esc does not cancel in this mode. Esc enters ^[ character! In fact any special character, such as <Tab>, can be entered directly. Ctrl-C Ctrl-C Stops visual mode Ctrl-C Esc undocumented Ctrl-C Ctrl-O Visual Replace Character Pending Visual Virtual Replace Character Pending Printable and some Special Characters Esc Ctrl-C Printable Character, NL or CR Ctrl-V Ctrl-Q Ctrl-Q Ctrl-V Note: s is equivalent to c from visual mode Note: R is equivalent to S in visual mode (Vim help says R may change after Vim 7.3?) Also note, S is overridden by the surround.vim plugin from visual mode. Equivalent