[GSoC] About the idea: Unicode support in vi

Paul Schenkeveld freebsd at psconsult.nl
Sat Mar 26 08:45:44 UTC 2011

On Wed, Mar 23, 2011 at 08:20:07PM -0500, Zhihao Yuan wrote:
> On Wed, Mar 23, 2011 at 7:26 PM, Arnaud Lacombe <lacombar at gmail.com> wrote:
> > Hi,
> >
> > On Wed, Mar 23, 2011 at 7:32 PM, Zhihao Yuan <lichray at gmail.com> wrote:
> >> Among *all* the GNU/Linux distributions I used, they include a vim
> >> compiled in tiny mode (ln -s it to vi), which doubles the size of nvi,
> >> in their base systems. A vim.tiny contains much more features compared
> >> with nvi, but it's not compatible with POSIX vi.
> >>
> > Let's compare the comparable, I don't really care if PCbsd ship vim as
> > its default, but FreeBSD as the base is not only aimed at desktop
> > specifically. So you should take into account that I may want to run
> > FreeBSD on an adm5120 board with 32MB of RAM, without having a text
> > editor consuming too much disk-space/ram.
> >
> >  - Arnaud
> >
> If you really want to use vi in a 32MB mem environment, the ex-vi may
> make sense. It consumes 1600KB memory while nvi consumes 2000KB. Note
> that the ee editor uses same amount memory as ex-vi.
> So basically, if no one disagree that we can drop the infinite undo,
> multiple buffer, multiple window and some other potential missing
> features, we can replace the nvi in the base system with ex-vi.

I like the idea of adding Unicode support to nvi but I hate the idea of
replacing nvi in the base system by something else.  I've been there
before, when administering a heterogenous environment with Unix, BSD and
Linux systems, being a heavy user of vi, it's frustrating if commands in
various versions of vi do not behave *exactly* the same, e.g. different
versions of vi leave the cursor in different places after undo, the
effect of the repeat command (.) after an undo command, the availability
or not to do something like /pattern/z. to find and position the found
text in the middle of the screen so you can immediately see the context.

Administering hundreds of FreeBSD systems at various sites would become
a nightmare if frequently used utilities in the base system do not
behave exactly the same between different builds, a true POLA violation
I think.  I truly hope that adding unicode to nvi doesn't change the
behaviour of nvi, at least not when not using actually Unicode.

I think it makes more sense to grow a WITHOUT_NVI knob in buildworld so
that people building for embedded systems can exclude nvi and include
another version of vi when really pressed for space, like we can replace
the base systems sendmail by sendmail from ports or another MTA.


Paul Schenkeveld

More information about the freebsd-hackers mailing list