What is the difference between vi and vim?
Vim tries to resemble the syntax and semantic of Vi command as much as possible. But being an "improved version", Vim adds new commands and features. It also changes the semantic of some Vi commands to better match the current expectations of its programmers.
A detailed list of changes between vim and Vi can be found using the command :help compatible
in Vim.