You are on page 1of 3

VI  keyboard  shortcuts    

   List  of  shortcut  keys Shortcut Command

Insert
i I   Inserts  text  to  the  left  of  the  cursor. Inserts  text  at  the  beginning  of  the  line,  no  matter  where  the  cursor  is  positioned  on  the  current  line.

Append
a A   Begins  inserting  after  the  character  (append)  on  which  the  cursor  is  positioned. Begins  inserting  at  the  end  of  the  current  line,  no  matter  where  the  cursor  is  positioned  on  that  line.

Open
o O  

Begins  inserting  text  on  a  new,  empty  line  that  is  opened  for  you,  below  the  current  line.  This  is  the  only  command  that  w insert  text  BELOW  the  LAST  line  of  the  file.

Begins  inserting  text  on  a  new,  empty  line  that  is  opened  for  you,  above  the  current  line.  This  is  the  only  command  that  w insert  text  ABOVE  the  FIRST  line  of  the  file.

Deleting,copying  and  changing
d y c ! < >   Delete  text.  (see  explanation  above) Copy  text  (that  is,  yank  it  into  a  holding  area  for  later  use).  (see  explanation  above) Change  text  from  one  thing  to  another,  which  you  will  type.  (see  explanation  above) Filter  text  through  a  program. Shift  a  region  of  text  to  the  left. Shift  a  region  of  text  to  the  right.

Single  Key  Movements
h l j k ^ $ 1G G CTRL  U CTRL  D w W Move  cursor  to  the  left  one  character. Move  cursor  to  the  right  one  character. Move  cursor  down  one  line. Move  cursor  up  one  line. Move  cursor  to  the  beginning  of  the  line. Move  cursor  to  the  end  of  the  current  line.

Move  cursor  to  the  first  line  of  your  document.  Other  numbers  will  move  to  the  line  specified  by  number  (ex.  50G  goes  to Move  cursor  to  the  last  line  of  your  file.

Move  cursor  up  in  file  12  lines.  Hold  down  the  key  marked  CTRL  (stands  for  control)  and  type  U.  CTRL  is  like  another  sh Move  cursor  down  in  file  15  lines. Move  cursor  forward  to  the  next  word,  stopping  at  punctuation. Move  cursor  forward  to  the  next  word,  ignoring  punctuation.

Find  the  character  corresponding  to  the  next  keystroke  typed.  do not  hurt  your  file. The  period  . Delete  a  word(s). . Move  cursor  backwards  to  the  previous  word. Delete  a  word(s).  If  you  wan line  between  two  words.;  puts  you  in  INSERT  mode  but  types  over  the  characters  that  are  already  on  the  current  line.  Great  for  debugging  programs.  Move  the  cursor  to  the  next  occurrence  of  that  character  (o line  only).  stopping  at  punctuation.  This  is  an  excellent  command  if  you  want  to  move  a  few  lines  som your  file. Delete  (including  the  current  character). Delete  (excluding  the  current  character). J R p Join  lines.  (as  opposed  to  the  top  of  the  document  which  may  not  be  the  same  place).  ma  marks  the  location  with  the  letter  a. Useful x r Delete  character(s)  to  the  right  of  the  cursor.  bracket  or  brace. Repeat  the  last  f  or  F  command  (see  below).  whatever  it  may  have  been  (insert. Move  cursor  to  the  beginning  of  the  next  paragraph. Delete  to  the  end  of  next  word.  Please  note before  the  r  in  this  command. Move  cursor  to  the  top  line  of  the  screen.  command  repeats  the  last  text  modification  command.  so  a  (apostrophe  a)  m that  location).;  the  opposite  of  the  line  splitting  operation  above.  to  the  end  of  the  line. :r  filename RETURN CTRL  L d$ d^ dw dW de dd dG Read  a  file  into  the  current  file  being  edited.  starting  with  the  one  beneath  it.  Just  type  3dd  to  delete  three  lines.  deletion.  but  you  will  have  to  hold  down  the  CTRL  key  and  type  L  to  clean  it  up  (CTRL  L).  you  might  put  the  cursor  on  the  blank  space  before  the  word  you  would  like  to  go  on  the  next  lin This  would  replace  the  space  between  the  words  with  a  carriage  return  and  put  the  rest  of  the  line  onto  a  new  line. Move  cursor  to  the  beginning  of  the  next  sentence.  This  can  be  a  very  useful  command.  ignoring  punctuation. Move  cursor  backwards  to  the  previous  word.  for  example.  stopping  at  punctuation.e E b B H M L % ( ) { } .  If  somebody  writes  to  you  while  you  are  in  the  middle  of  vi  and  junk  appears  all  over  your  screen.  (ex. Replace  the  character  under  the  cursor  with  the  next  character  you  type.  Als Replace  lines. Redraw  the  screen.  to  the  beginning  of  the  line. Move  cursor  to  the  beginning  of  the  current  paragraph.  ignores  punctuation.  and  then  move  to  where  you  want  those  lines  to  be  and  type  p   back  into  your  file  below  the  cursor. Same  as  f  but  movement  is  backwards. Delete  from  the  current  line  to  the  end  of  the  document. Move  cursor  forward  to  the  end  of  the  word. Move  cursor  to  the  middle  of  the  screen. . Move  cursor  to  the  beginning  of  the  previous  sentence  (where  a  punctuation  mark  and  two  spaces  define  a  sentence). Almost  Single  Key  Movements ' f F   Move  cursor  to  a  previously  marked  location  in  the  file. Paste  line(s)  you  deleted  (or  yanked)  back  into  the  file.  etc).  The  file  be  added  gets  placed  below  the  current  cursor  position. Delete  a  line(s). Move  cursor  to  the  matching  parenthesis.  ignores  punctuation.  CAREFUL:  Slightly  dangerous.  stops  at  punctuation.  This  will  join  the  current  line  with  the  next  line  in  your  file. Move  cursor  to  the  last  line  on  the  screen.;   Move  cursor  forward  to  the  end  of  the  word.

 Finds  the  Next  occurence.   fixes. Deletes  until  the  next  occurence  of  the. This  will  find  all  occurences  of  oldword  and  replace  them  with  newword.dH   Delete  from  the  current  line  to  the  line  shown  at  the  top  of  the  screen. Finds  the  previous  occurence  of  the. Repeats  the  last  search  command.  another.  them.  The  optional  c  at  the  end  of  the  command would  like  to  confirm  each  change.  This  is  to  demonstrate  how  the  delete  prefix  can  be  used  with  any  cursor  m command.   Exit ESC  :wq  RETURN ESC  :q!  RETURN Save  and  exit  VI Exit  WITHOUT  saving  changes           .  etc.  Vi  will  want  you  to  type  in  y  to  make  the  change  or  n  to  skip  that  replacement. Search  and  Replace /the ?the n d/the :g/oldword/s//newword/gc Finds  the  next  occurence  of  the.  This  will  also  find  their.