ARCHIVED: A quick reference list of vi editor commands

This content has been archived, and is no longer maintained by Indiana University. Information here may no longer be accurate, and links may no longer be available or reliable.

Notes:

  • <ESC> denotes the Esc key, and <CR> denotes the Enter key.
  • The expression <cmd> means that you should enter a command, <f> means that you should enter a filename, and <x> means that you should enter a character or number.
  • The symbol ^ (caret) means that you should hold down the Ctrl key while pressing the indicated letter.

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

At Indiana University, for personal or departmental Linux or Unix systems support, see Get help for Linux or Unix at IU.

Related documents

This is document afdc in the Knowledge Base.
Last modified on 2018-01-18 10:15:08.