Many a times i have seen that people are discussing about the VI/VIM editor,since i use Vi editor,but for the curiosity to know the major difference between two awesome editor i have started using it .but couldn't figure out the major difference between two seems almost same.
Well, I started using vim after I found out that it deals with cursors, tabs, backspace etc. correctly while being in insert mode. vi does not and adds these funny characters when hitting tab or any other system key (which is correct "computer science" beheviour but strange usability...).
I couldnt find any other difference although I'm sure there is...
Google is your friend. Some links:
http://www.dc.turkuamk.fi/docs/soft/vim/vim_diff.html
http://www.phcomp.co.uk/TechTutorial/ReferenceSheets/ViRef.php
http://en.wikipedia.org/wiki/Vim_(text_editor)#Features_and_improvements_over_vi
Where vim is installed, the command 'vi' often starts the same program, but with different default options.
Vi is old, and its behaviour is known. Most modern vi clones have options to stick to "vi compatible" behaviour, which is what running them as 'vi' will get you. When you run them using their own name, they will enable a lot more of extra features and fix many issues which were seen as usability issues or inconsistencies with the original vi.
Functionally, vim is almost a proper superset of vi. So, everything that is in vi is available in vim.
Vim adds onto those features. Here are a few of the extended vim features that I have come to rely on:
- Vim has been ported to a much wider range of OS's than vi.
- Vim includes support (syntax highlighting, code folding, etc) for several popular programming languages (C/C++, Python, Perl, shell, etc).
- Vim integrates with cscope.
- Vim can be used to edit files using network protocols like SSH and HTTP.
- Vim includes multilevel undo/redo.
- Vim allows the screen to be split for editing multiple files.
- Vim can edit files inside a compressed archive (gzip, zip, tar, etc).
- Vim includes a built in diff for comparing files (vimdiff).
- Vim includes support for plugins, and finer control over config and startup files.
- Vim can be scripted with vimscript, or with an external scripting language (e.g. python, perl, shell).
There are many more differences. Here are a couple of good places to start finding out more.
Refer to :h vi-differences
for an up-to-date summary of some of the differences.
As it says on that page, throughout the Vim help documentation, there's a note in {}
for every feature that's different or missing in original Vi.
For example do :h options.txt
and search for the phrase not in Vi
and you get around 321 hits. There are obviously a lot.
In addition to the Vim links you saw earlier, a few I like:
https://help.ubuntu.com/community/VimHowto