tags:

views:

1051

answers:

6

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.

+1  A: 

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...

Matt
+3  A: 

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

Vicky
Why should he google when you'll do it for him?
James Jones
Hey man, everyone needs help sometimes ಠ_ಠ
pianoman
Very nice smyley!! What character is the eyes ?
Luc M
technomalogical
+4  A: 

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.

Andrew Aylett
+12  A: 

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.

http://www.vim.org/

http://en.wikipedia.org/wiki/Vim_(text_editor)

semiuseless
+5  A: 

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.

Brian Carper
This answer gets my vote for "best answer that helps one do their own research". I had no idea about the {} notes. Thanks!
technomalogical