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"

Reply via email to