Ат линуск ворлд "vi" это просто вим без установленных вимскриптов. Если vim определяет, что он запущен с argv[0]=="vi", то он отрезает себе фичи, вот и весь ви
Далеко не все отрезает. В итоге те, кто запускает vi на линуксе и думают, что они труъ, испытают некоторую фрустрацию, когда vi на bsd или, прости господи, юниксах у них или бибикает, или всё портит, как у распоследних нубов, которых они раньше чморили :)