vlambda博客
学习文章列表

vim 使用系列(一)-- 安装

前言

安装 vim 的方式有两种,第一种是通过 ubuntu 自带的包管理器 apt 安装,这也是最方便的安装方法,不过这种方法安装的 vim 版本可能会比较旧,导致有某些好用的插件用不了,注意这里的插件一词,在下面的章节中会解释;第二种方法就是通过 vim 源代码编译安装了,在某些环境中可能我们没有管理员权限来安装软件,这时我们也就只能选择自己编译安装了,因此这里建议使用源码编译安装。

以下所做的操作的系统基本信息:

$ lsb_release -a
LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial

apt 方式安装

ubuntu 默认使用官方源来下载,但是内地访问官方源可能比较慢,所以一般会选择将软件下载源换成国内的镜像,如阿里云,清华大学的,清华大学换源方法如下:

  1. 查看系统 ubuntu 版本:

    $ lsb_release -a
    LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
    Distributor ID: Ubuntu
    Description:    Ubuntu 16.04.6 LTS
    Release:        16.04
    Codename:       xenial

    可以看到是 16.04 LTS 版本

  2. 备份原先的源,防止出现一些不可预知的问题:

    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
  3. 访问

    https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

    根据第一步看到的版本号选择,复制内容(注意内容要与第一步中的 Codename 对应,16.04 为 xenial),如:

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
  4. 打开原先的源文件,粘贴内容:

    $ sudo gedit /etc/apt/sources.list

删除文件的内容,并把第三步复制的内容粘贴进去,保存。

  1. 刷新列表

      $ sudo apt update

至此,换源操作完成,下载速度应该有所提升。


下载 vim

$ sudo apt install vim

等待安装完成就好。

编译安装 vim

截止文章发布,最新版本为 8.2。

  1. 系统中可能已经下载了其他版本的 vim,所以先将其删除:

    $ sudo apt purge vim vim-common vim-runtime vim-tiny gvim
  2. 既然是编译安装,那么就肯定要先下载源码,vim 源代码在 github 上托管,要用 git 命令将 vim 代码仓库下载下来,这在 git 中叫 clone,所以我们先安装 git 命令:

    $ sudo apt install git
  3. 下载代码,不过 github 内地访问可能比较慢,为了方便管理自己编译的软件,我都是把这些软件放在一个叫 installed 的目录下。

    $ mkdir -p ~/installed
    cd ~/installed
    $ git clone https://github.com/vim/vim.git

    由于 github 上可能访问比较慢,甚至访问不了,所以我上传了一份 vim8.2.2608 的打包源码:
    https://persuez-image.oss-cn-shenzhen.aliyuncs.com/article/vim-8.2.2608.tar.gz
    可直接复制链接通过浏览器打开下载,也可参照以下方法:

    $ mkdir -p ~/installed
    cd ~/installed
    $ wget https://persuez-image.oss-cn-shenzhen.aliyuncs.com/article/vim-8.2.2608.tar.gz
    $ tar -zxvf vim-8.2.2608.tar.gz
    $ mv vim-8.2.2608 vim
    $ ls
    vim  vim-8.2.2608.tar.gz
  4. 编译准备,下载一些之后编译 vim 需要依赖的包:

    $ sudo apt install libncurses5-dev libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
    python3-dev ruby-dev lua5.2 liblua5.2-dev libperl-dev

    注意安装成功这些包,不过不同版本系统包名可能不一样,需要自己查找一下。

  5. 开始编译:

    cd ~/installed/vim
    $ ./configure --with-features=huge \
                --enable-multibyte \
                --enable-rubyinterp=yes \
                --enable-python3interp=yes \
                --with-python3-config-dir=$(python3-config --configdir) \
                --enable-perlinterp=yes \
                --enable-luainterp=yes \
                --enable-gui=gtk2 \
                --enable-cscope \
                --prefix=/usr/local
    $ make VIMRUNTIMEDIR=/usr/local/share/vim/vim82
    $ sudo make install

    PS: 如果没有权限安装在 /usr/local 目录,那么可以将 ./configure 命令的 prefix 参数改为其他有权限的目录,然后通过添加环境变量的方式使用 vim。

  6. 验证编译:

    $ vim --version

    如果 vim 成功输出一些信息,则安装成功。

至此,vim 编译安装成功。