写在前面:测试了多台设备,发现不同设备可能安装过程有些区别,但都大同小异,一般遇到问题网上都能找到解决方案。具体安装还是要随机应变。本文只是记录个人安装过程以及遇到的问题。如果你正好需要,建议通读之后再进行安装vim,也好避免我遇到的问题。

查看当前vim的版本

vim --version | head -2

默认root权限。

1、尽可能地卸载干净原来的vim(系统自带)

yum remove vim vim-filesystem vim-common vim-enhanced vim-minimal
rm -rf /usr/bin/vim #提示不存在的话不用管
rm -rf /usr/share/vim #提示不存在的话不用管

2、下载新的vim。

git clone https://github.com/vim/vim.git && cd vim/ 

3、安装相关支持所需的依赖。

yum -y install ruby-devel lua-devel perl-ExtUtils-Embed ncurses-devel

忘了哪里看到的vim不能同时支持Python2和Python3,本次安装打开了对Python3支持,没有测试同时支持。

提示:如果自编译安装python3,那么python3-devel就不用安装。其他的也一样。

4、检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。

./configure --with-features=huge \
            --enable-multibyte \
            --enable-rubyinterp=yes \
            --enable-python3interp=yes \
            --enable-perlinterp=yes \
            --enable-luainterp=yes \
            --enable-gui=auto \
            --enable-cscope \
            --prefix=/usr/local/vim

--prefix=/usr/local/vim :指定安装目录为/usr/local/vim

--enable-xxxinterp=yes:表示打开对xxx语言编写的插件的支持,在加上这个参数后,编译安装后发现还是没有支持,因为没有安装xxx-devel,安装缺失的devel就行。

5、编译安装。检查通过后,将生成用于编译的MakeFile文件。此时可以开始进行编译和安装。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。

make -j2 && make install

网上很多教程里编译时加了VIMRUNTIMEDIR,作用是设置变量$VIMRUNTIME,应该设置为/安装目录/share/vim/vim90(注意vim90),不设置的话默认也是这个目录,所以我觉得不用设置。vim命令模式下$VIMRUNTIME 可以查看$VIMRUNTIME。

6、启用:根据网上看到的文章,目前有4种方法(别名、环境变量、软连接、复制源码包里src文件夹里的vim文件到/usr/bin/),选择一种方法即可。建议使用软连接。

1)软连接

ln -s /usr/local/vim/bin/vim /usr/bin/vim
#输入vi也打开vim
ln -s vim /usr/bin/vi

2)环境变量

/etc/profile.d/vim.sh,.sh前缀可以随意设置

echo "export PATH=\$PATH:/usr/local/vim/bin" >> /etc/profile.d/vim.sh

执行命令

source /etc/profile.d/vim.sh

使环境变量立即生效。

输入vi也打开vim(使用软连接)

ln -s vim /usr/local/vim/bin/vi

3)别名:利用alias将vim指令定向到刚刚安装的vim

临时设置别名重启失效:

alias vim='/usr/local/vim/bin/vim'

永久设置别名重启也有效:

echo "alias vim='/usr/local/vim/bin/vim'" >> ~/.bashrc
#一般情况下,我们有输入vi即打开vim的需求。如果输入vi没有打开vim,也可以设置下别名。
echo "alias vi='vim'" >> ~/.bashrc
#立即生效
source ~/.bashrc

4)复制源码包里src文件夹里的vim文件到/usr/bin/

cp ~/vim/src/vim /usr/bin/vim
#输入vi也打开vim
cp /usr/bin/vim /usr/bin/vi

至此,vim的安装结束。

其他问题:

1、vim打开文件,右键默认进入可视模式,无法粘贴。

原因是当前没有配置文件,vim会启用默认的配置,此配置会限制鼠标右键粘贴。

解决方法:复制一份defaults.vim配置文件到用户目录。

cp /usr/local/vim/share/vim/vim90/vimrc_example.vim ~/.vimrc

然后编辑配置文件 ~/.vimrc,在source $VIMRUNTIME/defaults.vim下面加上set mouse-=a即可右键粘贴。

或者也可以完全自定义自己的配置文件,创建空文件~/.vimrc,然后写自己的配置就行。

2、配置文件

~/.vimrc:用户配置文件,建议自定义配置放这里,默认没有,需要自己创建

/usr/local/vim/share/vim/vimrc:系统配置文件,对所有用户有效,默认没有,需要自己创建

/usr/local/vim/share/vim/vim90/defaults.vim:当用户和系统的配置文件都没有时,启用自带的配置文件。

vim配置文件的位置: http://www.gmloc.me/137.html

3、清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

cd ~/vim && make clean && make distclean

make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。
make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。

源码文件夹不需要的话可以直接删除。

4、卸载:

4.1:删除指定的安装目录/usr/local/vim即可完成卸载。

4.2:在vim源码目录执行下面的命令也可以完成卸载

make uninstall

如果执行过make clean && make distclean,则需要重新configure,然后make uninstall

5、编译过程中若提示fatal error: EXTERN.h: No such file or directory

原因:perl支持所需依赖perl-ExtUtils-Embed没有安装。

解决方法:执行下方命令安装perl-ExtUtils-Embed

yum install perl-ExtUtils-Embed

如果提示其他错误,请自行解决。

解决问题后重新编译还是提示此问题。所以还要清除编译过程中产生的临时文件和配置过程中产生的文件。

cd ~/vim && make clean && make distclean

接着从安装教程的第3步重新开始。

参考:
https://www.cnblogs.com/standardzero/p/10727689.html
https://blog.csdn.net/Yvesx/article/details/127111021
https://blog.csdn.net/kepa520/article/details/82021472

相关:

alias别名和软连接ln区别

centos7设置、查看、删除环境变量的方法

deepin编译安装最新版本vim(8.2)