Alphabetical vi quick reference

       (remember vi has different MODES:  COMMAND, Insert & Append   -  the following are for the COMMAND mode.

(NOTE:  To enter the COMMAND mode in vi, press esc  (the escape key)
NOTE:     #  (where # is a number) execute the command  # times...  
NOTE:      :  (colon) sends the user to the ex- editor mode (the line editor))

WITHIN vi - COMMAND MODE:
------------------------------------------
  )  go to next sentence 
  (  go to previous sentence 
  }  go to next paragraph 
  {  go to previous paragraph 
 ]]  go to next section 
 [[  go to previous section
  0  go to  beginning of line 
  $  go to end of line 
  ^  first non-whitespace character
  +  first character of next line 
  -  first character of previous line 
(spacebar) next character 
(return) next line 
  /  search forward 
  ? search backward 
  %  find match of current parenthesis, brace, or bracket 
  ,  reverse direction of last f, F, t, or T 
  ;  repeat last f, F, t, or T
  .  repeat last command
  `  goto mark 
  '  goto beginning of line with mark 
 ``  return to previous mark or location before a search 
 ''  go to start of line of previous mark or location before search
  ~  switch case of current character
  "  store in register 
 !!  repeat last shell command
  !  send next to command, replace output (eg  !}fmt passes the current
       paragraph to the command fmt, and replaces the output with
       whatever fmt returns.) 
 >>  shift paragraph one shiftwidth to the right 
 <<  shift paragraph one shiftwidth to the left 
 >%  shift until matching (, [, or { to the right 
 <%  shift until matching (, [, or { to the left
  a  append after the current location 
  A  append at the end of the line
 ^a  unused
  b  beginning of previous word 
  B  beginning of previous word, ignore punctuation 
 ^b  scroll back one screen
  c  change until...  
  C  change to end of line 
 ^c  ends insert mode, unused in command mode
  d  delete until...  
  D  delete to end of line 
 ^d  scroll down half a window, moves to previous shiftwidth in insert
       mode
  e  end of word 
  E  end of word, ignore punctuation 
 ^e  scroll screen down one line
  f  find...  
  F  find backward...  
 ^f  scroll forward one screen
  g  unused 
  G  ...Goto  [defaults to end of file] 
 ^g  show status line
  h  left 
  H  first line on screen 
 ^h  backspace in insert mode, left in command mode
  i  insert before current location 
  I  insert before first non-whitespace character on line 
 ^i  tab in insert, unused in command
  j  down 
  J  join next line with current line 
 ^j  down in command, create newline in insert
  k  up 
  K  unused 
 ^k  unused
  l  right 
  L  last line on screen 
 ^l  redraw screen
  m  mark position into register 
  M  middle of screen 
 ^m  carriage return
  n  repeat last search 
  N  repeat last search, reverse direction 
 ^n down in command
  o  open line below current 
  O  open line above current 
 ^o  unused
  p  put below current line 
  P  put above current line 
 ^p  up in command
  q  unused 
  Q  quit and run ex 
 ^q  unused
  r  replace current character 
  R  replace characters until insert mode is left 
 ^r  redraw screen in command mode
  s  substitute 
  S  substitute entire line 
 ^s  unused
  t  to...  
  T  backward to...  
 ^t  moves to next shiftwidth.
  u  undo last change 
  U  undo changes to current line 
 ^u  scroll up half a window
  v  unused 
  V  unused 
 ^v  unused
  w  beginning of next word 
  W  beginning of next word, ignore punctuation 
 ^w  unused in command, in insert move back to beginning of previous
       word
  x  delete current character 
  X  delete previous character 
 ^x  unused
  y  yank...  
  Y  yank current line 
 ^y  scroll screen up one line
  z  reposition screen around line (Return to top of screen, . to 
       middle, - to bottom) 
 ZZ  write and quit 
 ^z  unused

http://johnmeister.com/jeep/sj/UNIX/vi/silly.vi.tricks.html
return to john's home page