源码安装VIM的那些坑

那些年我们一起走过的坑

Posted by David on April 5, 2020

Linux下源码安装vim 各种问题及解决方案如题

写在前面

由于老师的要求,所以自己开始了Linux的学习之路,自己也是在这方面走了很多弯路,从一个一点也不懂的小白一点点摸索终于算是刚刚窥探到了vim世界的一隅,要学习的还有很多,写在这里算是一个阶段性的总结,也算是给其他和我一样的小白朋友们一点点帮助。

删除系统里的vim

相信来看类似文章的各位应该都是想将vim最为一款完美的IDE吧! 要想实现这个目标那么源码安装几乎是不可避免的,首先我们要保证系统自带的或者是后来装的,我们都要给他统统清理干净!

~$ sudo apt-get remove --purge vim vim-tiny vim-common \
~$ vim-runtime gvim vim-common vim-gui-common vim-nox

如果在卸载过程中提示没找到上面的某一项,那么把它从命令中删除就可以了,再运行一遍,运行之后,要记得检验一下

~$ vi 

此时按两下TAB键,如果出现的没有vim以及类似结果,则证明已删除成功。

利用Git命令得到vim的最新源码

在这里可以直接利用git clone 命令获取

~$ git clone https://github.com/vim/vim.git

如果你可以成功下载的话那么请看下一步骤吧,如果不能成功下载又或者是下载巨慢的话,那么请跟我往下看。

当时我的问题是输入了命令但是没办法下载,最后总是time out ,连接失败。 起初以为是需要科学上网,于是去寻找Linux下科学上网的方法,但对于小白来说,什么ssh之类的我还不是很懂,所以就采用了简单的方法,利用软件

我找到了两款软件:一款即为大名鼎鼎的lantran,每个月都会有免费的500M流量可用可以说是经济实惠了,

而另外一款呢,名字叫做fly,他需要先科学internet surfing,下载下来,然后可以通过共享文件夹或者是winscp等方法弄到Linux上,总之有些麻烦,但很好用。

这里附上lantran的连接 https://pan.baidu.com/s/1IiMgrwe8ylrhovmAIJss-Q 提取码:bmuq

fly的话如果你可以科学那么自己搜搜看就好了 但那个要求不支持我们的所在地区 我在想如果注册虚拟机的时候把国家改了是不是会好用? 还没测试过,有时间的同学可以测试一下。

这两个方法我更推荐第一种 ,但是还有另一种更好用的方法:

我们可以利用码云,将github上的项目弄到码云上,然后在terminal上用命令(其他云应该也可)

~$ git clone https://gitee.com/david0313/vim

当然这是我从GitHub上弄下来后我的链接,之后他会要你的user name and password,输入就好了,下载很快的.

安装必要的库

此时相信你已经成功得到了源码vim文件在你的~/中,你可以ls查看一下。 我们首先进入vim文件夹中

~$ cd vim
~$ sudo apt install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev \
libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev \
lua5.1 liblua5.1-dev libperl-dev git

记得按y (这里的库是我cp来的,我也不太清楚具体都是什么意思)

开始配置

./configure --with-features=huge \
                  --enable-python3interp\
                  --with-python3-config-dir=/usr/lib/python3.6/config \
                  --enable-pythoninterp \
                  --with-python-config-dir=/usr/lib/python2.7/config \
                  --enable-rubyinterp\
                  --enable-luainterp\
                  --enable-perlinterp \
                  --enable-multibyte \
                  --enable-cscope\      
                  --prefix=/usr/local/vim/

以上可直接复制 配置完成后可以往上翻一翻,看看我们enable的项目后面是否为yes,尤其为Python有关的那两项目。

开始make和make install

make VIMRUNTIMEDIR=/usr/local/share/vim/vim82

注意!!! 上面的最后一项是依据版本而定的,当前的版本为8.2故为vim82,如果你安装的比82新或旧,请写出对应的版本号,以防止安装后出现syntax找不到的情况。 如果很不幸你的版本号和这个文件夹没对应,可以通过以下方式补救:

nano  .bashrc

在该文件的最后一行加一句话:

export VIMRUNTIME=/usr/local/share/vim/vim82

随后ctrl+o 保存 回车 ctrl+x退出 注意!! 上面的目录应填写你真正的syntax目录所在位置 一般也只需该后面的版本号 这个问题一般都是编译完成之后才会发现 如果你发现了,那么记住答案在这里

如果想防止出现什么错误,想将来轻松卸载 vim,可以使用 checkinstall 来安装

sudo apt-get install checkinstall 
sudo checkinstall

没有这个打算的话

sudo make install

就可以了

至此,整个vim的源码安装过程就结束了,我们可以通过命令

vim --version | grep python 

在这里插入图片描述 成功~

我在安装完成后也遇到了一点小问题,就是无论是进入还是退出插入模式,即按 i 或者 esc都会出现一个奇怪的字符, 在这里插入图片描述 我们可以通过对 ~/.vimrc 进行编译 即

   nano ~/.vimrc
   set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
   set termencoding=utf-8
   set encoding=utf-8

这样基本可以解决大部分乱码问题

最后说一下文件传输问题

想在Windows和Linux下传文件的话,有两个方法: 第一个: 利用virtualBox自带的共享文件夹功能,该功能要求Linux系统已安装增强功能 如何安装增强功能: 在这里插入图片描述 如图所示 在这里插入图片描述 如图所示设置 随后输入 此外,如若想实现全屏功能,增强功能也是需要的

第二种方法为利用winscp

依此输入命令

  sudo apt install net-tools
  sudo apt-get install openssh-server
  sudo ps -e | grep ssh 

输入

ifconfig

查找你的Ip地址 在这里插入图片描述 如图 填写你的IP到主机名 端口默认22即可 协议SFTP即可 点击登录 会让你输入用户名和密码 输入就完事了

好了 就这样吧~