[aur-general] Arch's Vim Failings & Solution Suggestions

Aaron Griffin aaronmgriffin at gmail.com
Thu Mar 19 11:35:46 EDT 2009

On Thu, Mar 19, 2009 at 9:54 AM, Andrei Thorp <garoth at gmail.com> wrote:
> Hello, fellow Archers.
> Recently, I had a question about Vim, so I went to the #vim channel in
> IRC. I was doing something
> that should be working, but it wasn't. Surprisingly, the question came
> up, "Are you on Arch?"
> Turns out that several of the peolpe I most respect in the #vim IRC
> channel are very unhappy with the quality of Arch's Vim package. One
> even (jokingly?) asked if they could officially not support Arch in
> the channel, which I found somewhat alarming. I suggested that we
> should instead help improve the Arch package.
> I hate to pick on people, but according to the generally kind folks on
> IRC, the Vim package for Arch has quite a few issues, and the
> maintainer hasn't addressed some outstanding bugs in quite a long
> while.
> As some of you may know, James Vega (jamessan) is an outstanding Vim
> user and the Debian package maintainer for Vim. I asked him to send me
> what he saw as the problems with the Arch package, and he was kind
> enough to send along some suggestions. They are attached in this
> forward.
> Thank you,
> -Andrei Thorp
> ---------- Forwarded message ----------
> From: James Vega <jamessan at debian.org>
> Date: Thu, Mar 19, 2009 at 2:29 AM
> Subject: Arch's Vim failings
> To: garoth at gmail.com
> Andrei,
> Thanks for being receptive to trying to address the issues in Arch's Vim
> packaging.  Below are the major points that stand out.
> 1) gvim package: Shipping an /etc/gvimrc which, due to the order that
>   Vim loads rc files, overrides any settings in the user's ~/.vimrc.
>   Considering that some users make the conscious decision to keep all
>   their settings in their ~/.vimrc instead of using both ~/.vimrc and
>   ~/.gvimrc, this is at the very least annoying.  More in depth
>   discussion is contained in the nearly year old, unfixed bug[0] about
>   this issue.
> 2) vi package: The package is built such that the resulting vi binary
>   reads its config from the completely non-standard ~/.virc.
>   Presumably this is to allow different configurations for the
>   different feature-sets avaiable in vi vs. vim packages.  Fortunately,
>   Vim has methods to deal with this already such as being able to check
>   what name was used to invoke Vim[1] and explicitly checking for
>   feature support[2].
> 3) vi, vim, and gvim packages: Explicitly building Vim with $VIMRUNTIME
>   == $VIM by specifying "--with-global-runtime=/usr/share/vim" to
>   configure.  This doesn't need to be specified to configure as it will
>   be set to the correct directory on its own.  If they insist on
>   specifying it, the directory should be /usr/share/vim/vimXY (where XY
>   is Vim's version number -- 72 for current Vim).
>   This manifests various problems, the most noticeable being that the
>   'runtimepath' option in Vim has /usr/share/vim listed twice, thus
>   causing runtime files to be sourced twice and causing duplicate
>   information when using common scripting methods for discovering files
>   in the runtimepath[3].
> [0] - http://bugs.archlinux.org/task/10303
> [1] - if v:progname == 'vi'
> [2] - if has('cscope')
> [3] - globpath(&rtp, 'colors/*')

Thanks for sending this along. We're more than willing to fix and work
through problems that upstream has with the way we package software -
as we always say, we try to stay as close to upstream as possible.

So, couple of solutions I'd like to suggest:

The reason the vi package is... well, "jacked up", is because we
needed a small version to stick in our base package set, without a lot
of features. I guess this would be like vim-tiny on Debian.

What we could do is simply ship nvi instead, for that purpose, and
stick with only two packages, vim and gvim. That would help things

Is not shipping a global /etc/gvimrc the norm? If so, we could do
that, and it would solve some annoyances I myself experienced (though
I rarely use gvim).

Regarding the runtimepath, that is a good point that scripts are
sourced twice. Definitely a bug and we should fix this.

More information about the aur-general mailing list