VI IMproved

Dan Clark and Justin TerAvest

VIM Author: Bram Moolenaar

[extra content not displayed in slide show]

Timeline

  • 1988 Vim 1.0 Vi IMitation on the Amiga
  • 1991 Vim 1.14 First public release
  • 1992 Vim 1.22 Port to Unix, renamed to Vi IMproved
  • 1994 Vim 3.0 Multiple windows
  • 1996 Vim 4.0 GUI
  • 1998 Vim 5.0 Syntax highlighting
  • 2000 Vim 6.0 Folding, multi-language
[extra content not displayed in slide show]

Modes

  • Edit Mode
  • Command Mode
  • Normal Mode
[extra content not displayed in slide show]

Swap files

  • vim creates backup files to prevent loss of data
  • .filename.swp is left behind on system error
[extra content not displayed in slide show]

Usage

  • Movement
  • Editing
  • Search and Replace
  • Cut Copy Paste
  • Configuration
  • Help
[extra content not displayed in slide show]

Movement

  • hjkl left down up right
  • w, b Word forward, back
  • 0 Column 0
  • ^ First character
  • $ End of line
  • gg Beginning of file
  • G End of file
  • {, } Beginning, end of block
  • % Move to matched bracket
[extra content not displayed in slide show]

Editing

  • File Commands
  • Indenting
  • Other
[extra content not displayed in slide show]

File Commands

  • :e Open
  • :w Write
  • :q Quit
  • :e! Revert
  • :q! Force-quit
[extra content not displayed in slide show]

Indenting

  • :> indent
  • :< outdent
  • :>% indent block
  • :<% outdent block
  • :d delete block
[extra content not displayed in slide show]

Other

  • a,i,o Enter INSERT mode
  • R Enter REPLACE mode
  • Enter COMMAND mode
  • u Undo
  • n Repeat command n times
  • . Repeat last modification
  • r Replace one character
  • cw Change word
[extra content not displayed in slide show]

Search and Replace

  • / Search
  • s/// Search and replace
  • n Find next
  • Example:
  • :%s/foo/bar/g
[extra content not displayed in slide show]

Cut Copy Paste

  • my Beginning line of copy block
  • y'y End line of copy block
  • md Beginning line of cut block
  • d'd End line of cut block
  • P Paste
[extra content not displayed in slide show]

Configuration

  • :set paste
  • syntax on
  • autoindent, cindent
  • ts=4, expandtab
[extra content not displayed in slide show]

Help

  • :help
  • http://www.vim.org
  • man vim
[extra content not displayed in slide show]

Conclusion

  • Its not emacs
  • vim is good
[extra content not displayed in slide show]

  • Questions?
[extra content not displayed in slide show]