Vi vs vim, or, is there any reason why I would ever want to use vi?
vi
is (also) a POSIX standard editor. There are plenty of implementations and vim
is likely the most popular.
While many traditional Unix compliant OSes provide vi
implementations very close to the standard, vim
has added a lot of extra features that make it a double-edged sword.
Of course, these extensions are usually designed to ease the editing process and provide useful features and functionalities. However, once you are used to some of them (not the cosmetic ones like syntax coloring but those that change the editor's behavior) you can easily forget they are specific; and using a different implementation, including the ones based on the original BSD code can be very frustrating. The opposite is also true.
This is quite similar to the issue that happens with scripts using non POSIX bashisms faced to more orthodox shell implementations like dash
or ksh
.
No vi doesn't have any significant advantage over vim rather its the other way around. Vim has more advantages then Vi. You may be interested in : Why, oh WHY, do those #?@! nutheads use vi?
Edit also read : Is learning VIM worth the effort?
After spending a large fraction of my life (not including childhood) editing
comfortably with Vim, I spent about a month only using vi. In doing so, I
realized that I had been dependent on Vim for all of my text modification
needs. Before my trip with vi, whenever I had to substitute some text or
perform a similar operation in a large group of files, I would just open up the
files in Vim and run a :bufdo
command, and whenever I had to indent or format
some files, I would open them up in Vim and use Vim's =
and gw
commands. I
was Vim-dependent. After realizing vi did not have these commands, I was forced
to perform bulk text transformations with sed
and learned a great deal about
other programs such as awk
and indent
. Though I switched back to using Vim
in the end, the knowledge I gained by using a less featured editor was
substantial and has proved to be extremely useful. In addition to learning
about tools outside of a text editor, I also became better acquainted with vi.
Whenever I am working on a new system or a server that doesn't have Vim, I feel
much more comfortable using vi than I did before my month-long excursion.
Also, last month I installed Linux on a cheap WM8650 tablet and found there to be a noticeable performance difference between Vim and vi, so I tend to use vi on the tablet.