Bram Moolenaar wrote:
Announcing: Vim (Vi IMproved) version 7.1a BETA
This is a BETA release of Vim 7.1. It consists of Vim 7.0 plus all
patches and updated runtime files.
I expect this to be stable, since the patches have been used by many
people already. This BETA is mainly to check that the files has been
setup properly. It's been almost a year since the last one!
Please report every problem you find! It will only be a few days until
the 7.1 release, so please take a little time right now to check it out.
Once you have installed Vim 7.1a BETA you can find details about the
changes since Vim 7.0 with ":help version-7.1".
[...]
Compiles as a breeze :-).
The rest of this post consists of a TIP: How to install this beta side-by-side
with Vim 7.0 and keep both of them fully functional.
Platforms other than Windows and Linux: I don't know the details, but I
suppose you can use (mutatis mutandis) methods similar to those described below.
Windows:
1. Unregister the OLE version (if you want to use the new version from now on):
gvim -silent -unregister
2. Close Vim if it's running.
3. Download and install the new version without uninstalling the existing Vim.
(If the installer asks permission to uninstall, answer "No".) The new Vim will
go into (e.g.) C:\Program Files\Vim\vim71a and below, instead of ...\vim70.
4. (Optional): Adjust your PATH and/or your desktop shortcuts.
5. (Optional): Install matchit in a compatible way (Warning: I _think_ I got
the commands right but I cannot test them, I'm on Linux):
C:
cd "\Program Files\Vim"
if not exist vimfiles\nul md vimfiles
cd vimfiles
if not exist plugin\nul md plugin
cd plugin
echo runtime macros/matchit.vim>matchit.vim
if not exist ..\doc\nul md ..\doc
cd ..\doc
copy ..\vim71a\macros\matchit.txt
vim71a\vim -u NONE --cmd 'helptags . |q'
Linux: There are many steps but they aren't complicated. I assume that:
- you do your own compile (and already have the necessary software)
- you install in the default location (/usr/local/...)
- you want to make the new version your default Vim
- you use the bash shell (some builtin commands are bound to be different if
you use another shell).
- the xxd program didn't change between 7.0 and 7.1
- you don't need two copies of the "vimtutor" shell script (which seems
unchanged since the time of Vim 6 alpha or beta).
Note: many of the commands below are shown with a -v (verbose) switch which
can be removed if you prefer "quiet" functioning. (I use -v so I get
confirmation that I didn't give the wrong input.)
1. Rename the Vim 7.0 executable to avoid overwriting it:
cd /usr/local/bin
mv -v vim vim70
2. Download and unpack the three archives. (They will create a directory
structure starting at vim71a, which can be a sibling folder of the "vim70"
head of your 7.0 source.)
(for example)
cd ~/.build/vim
ftp ftp.vim.org
Name: anonymous
Password: [EMAIL PROTECTED]
> cd pub/vim/unstable/unix
> get vim-7.1a.tar.bz2
> cd ../extra
> mget vim-7.1a-*.tar.gz
a
> bye
tar -jxvf vim-7.1a.tar.bz2
tar -zxvf vim-7.1a-lang.tar.gz
tar -zxvf vim-7.1a-extra.tar.gz
3. Set the configure options
(for example)
source myconfig
where ./myconfig will be similar but (at least in the last line) not identical
to the following (which is what I use):
#!/bin/bash
export CONF_OPT_GUI='--enable-gnome-check'
export CONF_OPT_PERL='--enable-perlinterp'
export CONF_OPT_PYTHON='--enable-pythoninterp'
export CONF_OPT_TCL='--enable-tclinterp --with-tcl=tclsh8.4'
export CONF_OPT_RUBY='--enable-rubyinterp'
export CONF_OPT_MZSCHEME='--enable-mzschemeinterp'
export CONF_OPT_CSCOPE='--enable-cscope'
export CONF_OPT_MULTIBYTE='--enable-multibyte'
export CONF_OPT_FEAT='--with-features=huge'
export CONF_OPT_COMPBY='"[EMAIL PROTECTED]"'
4. Compile and install; then (optionally, if successful) remove the archives
cd vim71a
make 2>&1 |tee fullmake.log
src/vim --version |more
make install 2>&1 |tee install.log
cd ..
rm -vf vim-7.1*.tar*
5. If desired: Install matchit in a compatible way, so that the appropriate
version of the plugin will be used. Since we can install only one version of
the help in $VIM, we choose the newest one:
# The matchit plugin: invoke it via :runtime (each version of Vim
# will use its own $VIMRUNTIME/macros/matchit.vim then).
# Remove it first if it exists, to avoid overwriting the target
# of a possible symlink
mkdir -pv /usr/local/share/vim/vimfiles/plugin
cd /usr/local/share/vim/vimfiles/plugin
test -e matchit.vim && rm -vf matchit.vim
echo 'runtime macros/matchit.vim' >matchit.vim
# The matchit help:
# make a symlink so we won't have to reinstall the help
# if there is an update to macros/matchit.txt
mkdir -pv ../doc
cd ../doc
ln -svf ../../vim71a/macros/matchit.txt
# create or update the tagfile
vim -u NONE --cmd 'helptags . |q'
The binary is now in /usr/local/vim (but we still have /usr/local/vim70 as a
backup); the runtime files go in /usr/local/vim/vim71a and below, where the
binary will find them with no problem (and the 7.0 runtime files in
/usr/local/vim/vim70 [or wherever] aren't touched).
From now on, "vim70" invokes Vim 7.0, "vim" invokes Vim 7.1a. If you had
softlinks (gvim, ex, view, gview, etc.) in /usr/local pointing to vim, they
will continue working but with the new version.
To invoke Vim 7.0 in various modes, you can either use command-line switches,
e.g., "vim70 -g" for gvim 7.0, or create new links, e.g. with
cd /usr/local/bin
ln -sv vim70 gvim70
ln -sv vim70 view70
ln -sv vim70 gview70
ln -sv vim70 gvimdiff70
etc.
(Warning: In the "ln" command as used here, the target name comes before the
link name. I find this counter-intuitive.)
Happy Vimming!
Tony.
--
The Great Bald Swamp Hedgehog:
The Gerat Bald Swamp Hedgehog of Billericay displays, in
courtship, his single prickle and does impressions of Holiday Inn desk
clerks. Since this means him standing motionless for enormous periods
of time he is often eaten in full display by The Great Bald Swamp
Hedgehog Eater.
-- Mike Harding, "The Armchair Anarchist's Almanac"