从源码构建vim

为何要从源码构建

因为Ubuntu16.04.5官方源里提供的vim还是7.4的版本,而最新的vim版本已经到了8.1.x,想要体验下最新特性的话就得自己动手了,而且从源码构建有些特性自己根据需要可以配置。


apt show vim

如何构建

在vim的github仓库的release中找到最新的发行,选择下图中的v8.1.0573下的tar.gz右键复制其连接。

vim

打开终端

cd Downloads

# 下载vim源码

# 解压
tar xvf v8.1.0573.tar.gz

cd vim-8.1.0573/

# 安装依赖
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.3 liblua5.3-dev libperl-dev git

#移除原有旧版本vim
sudo apt remove vim vim-runtime gvim vim 

# 配置选项

./configure --with-features=huge \
            --enable-multibyte \
            --enable-rubyinterp=yes \
            --enable-pythoninterp=yes \
            --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \
            --enable-python3interp=yes \
            --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu \
            --enable-perlinterp=yes \
            --enable-luainterp=yes \
            --enable-gui=gtk2 \
            --enable-cscope \
            --prefix=/usr/local
# 编译
make VIMRUNTIMEDIR=/usr/local/share/vim/vim81

# 为了方便我们使用checkinstall安装vim
sudo apt install checkinstall
# 安装时所有设置默认即可
sudo checkinstall
# 将vim设置为默认编辑器
sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim
# 如果你想卸载自己编译安装的vim的话
sudo dpkg -r vim

使用

如果你是初学者,那么如何使用vim呢?其实vim自带有一个教程,在终端运行vimtutor即可。完成这个教程,你就成功打开新世界的大门了[捂脸]。注:初次使用不需要死记硬背所有的命令快捷键,对其有个大概印象即可。

vimtutor
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,050评论 3 119
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,251评论 4 61
  • 第三章 情不知所起 狮子失去一眼,攻势登时减弱。沂憾脚跟一抬猛地踏在了狮头上,借力向上...
    遗寒阅读 1,625评论 0 3
  • 函数重构几乎都是源自于Long Methods。这导致了函数包含的信息过多,信息带来的逻辑错综复杂。 1 Extr...
    hklbird阅读 3,362评论 0 1