前言
目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用。当我们需要远程操作一台 linux 服务器的时候,只能使用命令行,这意味着如果你需要编辑文本,就只能用命令行编辑器。流行的编辑器有 vim 、emacs、nano,其中最简单易用的是 nano ,vim 次之,最困难的是 emacs。如果说谁最好用,那没有的,编辑器没有好不好用的说法,只有使用者是否习惯它的思维,编辑器是真的有它自己的想法的,你得顺着它的思路走。
背景
那为什么非得从源码编译安装 vim 呢?原因是 vim 可以支持很多特性,可以自由开启和关闭,但这只能是从源码编译安装才可以做到(mac 用户有 homebrew ,可以不从源码安装就能做到)。而操作系统自带的 vim 往往只开启了很少的特性,无法满足我们日常变成的需求,比如我需要它开启支持 python 3 的特性,那我只能先卸载操作系统自带的 vim ,然后自己编译安装。
下面展示一些示例,给大家看一下。
首先是我的服务器上的自带 vim :
其次是我自己的日常 vim
任务
从源码编译安装 vim 8.1
安装
声明:本文所述的安装方法参考自 Google 开源项目 YouCopleteMe,在它的 wiki 页可以找到。地址:
https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
此法已可满足绝大多数的日常 vim 使用需求
环境:
操作系统:archlinux
shell:zsh
适用于 archlinux、debian/ubuntu、centos/fedora (注意:都是最新或者接近最新的版本,不讨论远古系统)
mac 用户推荐使用 homebrew
第一步:彻底卸载操作系统自带的 vim
archlinux 用户:
debian/ubuntu 用户:
其他发行版用户,可自行搜索卸载命令
执行完卸载命令之后,强烈建议全局查找包含 vim 字样的文件和文件夹,手动删除,以免有漏网之鱼。如果卸载不干净,编译安装完了之后,很可能某种特性开启失败,导致又要重装,在任意文件夹下执行:
查找的结果都会在 中记录,你需要对照着这个记录,一个个手动去删除,但是要注意,有些是不可删除的文件,比如:
/usr/share/libquvi-scripts/0.9.20131130/media/vimeo.lua
/usr/lib/modules/4.18.3-arch1-1-ARCH/kernel/drivers/media/platform/vimc/vimc_sensor.ko.xz
/usr/lib/modules/4.18.3-arch1-1-ARCH/kernel/drivers/media/platform/vimc/vimc-debayer.ko.xz
/usr/lib/modules/4.18.3-arch1-1-ARCH/kernel/drivers/media/platform/vimc/vimc_scaler.ko.xz
如果大量操作系统文件被误删,很有可能你需要重装系统,千万注意。
第二步:克隆 vim 源代码
在任意文件夹下执行
进入 vim 项目文件夹
第三步:安装依赖库
archlinux 用户:
debian/ubuntu 用户:
fedora 20 用户:
首先
然后
第四步:configure vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local
请注意:把 python3-config-dir 这个目录换成你自己的,就是你的操作系统自带的 python3 的 config 目录,/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu 这个是我的目录,跟你的可能不一样,请自行查找
强烈建议你把这一条命令先复制到某个编辑器中,然后修改完路径之后,再粘贴到终端里面去执行
在这个命令中,我们开启的主要是 ruby、python3、perl、lua,我建议你只开启 python3,如果你觉得有必要,那就只开启 python2,如果同时开启 python3 和 python2 会产生很多冲突。
第五步:make
第六步:安装到系统中
第六步:查看特性是否已经开启
第七步:额外说明
建议使用 terminal 版本的 vim ,不建议使用 gvim、macvim 之类的 gui
这个方案可绝大多数的开发需求,配合插件,开发 python、go 足够了,.vimrc 配置好之后书写 markdown 也完全没问题,能够胜任一切编辑工作。但是如果要开发 .net 还是建议使用宇宙第一 IDE visual studio 或者编辑器 visual studio code 。
领取专属 10元无门槛券
私享最新 技术干货