2

Could anyone explain why does Vim still have vi-compatibility mode? Why would one use it?

As a consequence, we have to keep set nocompatible in our .vimrc; there is much noise in docs like {not in Vi}, {Vi: no ++opt}, etc.

and I can't really understand why developers keep it so carefully.

2
  • No, as a user you don't have to suffer any consequence from vi-compatibility so there's no reason to complain. Or remove it.
    – romainl
    May 29, 2014 at 10:35
  • neovimis gutting it's support for Vi-compatibility, as well as support for a bunch of older, less popular OSes. Aug 25, 2014 at 12:51

1 Answer 1

7

In many Linux distributions, Vim is also used as the implementation behind vi. Users (and scripts) expect the old, compatible behavior there.

Backward compatibility (also across different Vim versions) is very important for Bram (Vim's author), and that probably has won Vim so many fans over the years, and the rich plugin ecosystem it has.

I don't think the {not in Vi} clutters up the excellent documentation, and see this more as an advertisement for the "improved" part in Vim. It also helps when following old vi tutorials.

Note that you don't need :set nocompatible, this is implict by the existence of a ~/.vimrc.

Not the answer you're looking for? Browse other questions tagged .