记录Centos7操作系统vim升级到9.0版本全过程
写在前面:测试了多台设备,发现不同设备可能安装过程有些区别,但都大同小异,一般遇到问题网上都能找到解决方案。具体安装还是要随机应变。本文只是记录个人安装过程以及遇到的问题。如果你正好需要,建议通读之后再进行安装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
相关:
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。