Vim8.0是近十年来的一次大更新,支持任务、异步I/O、Channels和JSON以及异步计时器、Lambdas 和 Closures等,还包括对GTK + 3的支持。由于ubuntu默认安装的Vim版本一般都是7.4.52,该版本不满足许多vim插件的需求(如YouCompleteMe),因此需要升级Vim到新版本。

1. 源码编译安装vim8

Ubuntu下源码编译安装Vim8的方法如下:

1
2
3
4
git clone https://github.com/vim/vim.gi
cd vim
./configure --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config
make && make install

若在执行configure时报错 “no terminal library found checking for tgetent()… configure: error: NOT FOUND! You need to install a terminal library; for example ncurses. Or specify the name of the library with –with-tlib”,是因为系统缺少ncurses库,可通过安装libncurses5-dev解决。

1
2
" 安装libncurses5-dev "
sudo apt-get install libncurses5-dev

通过上述方式安装的vim二进制文件在默认在 /usr/local/bin/vim,如果系统自带vim并未被删除且你希望同时使用两个版本的vim,可以在 ~/.bashrc 中为vim8设置别名,然后执行 source ~/.bashrc 让配置立即生效。

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

此后,在vim终端输入vim命令时将默认使用Vim8源码编译的二进制文件 /usr/local/bin/vim

2. 安装vim中文帮助文档Vimcdoc

默认在vim命令行模式下输入 :help 获得的vim帮助文档内容为英文。Vimcdoc是对vim帮助文档的中文翻译 (Vimcdoc is an attempt to translate the wonderful Vim online documentation into Chinese),托管在sourceforge,路径为:http://vimcdoc.sourceforge.net/。

安装vim中文帮助文档Vimcdoc的方法如下:

1
2
3
wget https://sourceforge.net/projects/vimcdoc/files/vimcdoc/vimcdoc-2.1.0.tar.gz/download -o vimcdoc-2.1.0.tar.gz
tar -zxvf vimcdoc-2.1.0.tar.gz
cd vimcdoc-2.1.0 && ./vimcdoc.sh -i

当以普通用户执行 vimcdoc.sh 脚本安装时,所有中文帮助文件均会被拷贝至 ~/.vim/doc 目录下,安装的vim中文帮助文档仅对该用户有效。

若想卸装当前用户安装的Vimcdoc,只需执行脚本命令 ./vimcdoc.sh -u 即可。

vim中文帮助文件的文本是以utf-8进行编码的, 如果想用vim直接查看, 需要在配置文件 ~/.vimrc中 增加配置项 set encoding=utf-8

:使用-i选项安装Vimcdoc时,缺省会安装 vimcdoc.vim 全局插件,该插件会在 .vim 下生成一个plugin目录。如果不想安装vimcdoc插件,可以使用命令 ./vimcdoc.sh -I

[No0000190]vim8安装教程和vim中文帮助文档Vimcdoc安装方法-Vim使用技巧(5)的更多相关文章

  1. 安装配置Vim中文帮助文档

    1.home/.vimrc是用户自己的vim配置文件,在这个配置文件中设置的配置只影响该用安装前的准备工作: 在home目录下列新建文件夹  : .vim ------------------> ...

  2. vim中文帮助文档安装

    vim自带的帮助手册是英文的, 对平时编程的人来说没有多大阅读困难,在何况还有"星级译王"呢, 但是我猜和我一样连英语四级都愁的大有人,可偏偏就有一帮好心人人将其翻译成了中文, 可 ...

  3. 安装部署VMware vSphere 5.5文档 (6-5) 安装配置vCenter

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  4. 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  5. 安装部署VMware vSphere 5.5文档 (6-4) 安装配置DB数据库

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  6. VIM显示utf-8文档乱码解决方法

    1.相关基础知识介绍 在Vim中.有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding和termencoding. 在实际使用中.不论什么一个选项出现 ...

  7. 强大的矢量图形库:Raphael JS 中文帮助文档及教程

    Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库.它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出 ...

  8. Microsoft Visual Studio 2012 文档 下载地址 vs2012 中文帮助文档

    https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=34794 下载地址: http://download.microsoft. ...

  9. 使用vim编写hexo文档,并用ultisnips/snipmates/snippets插件补全

    作为一个vim使用者,编写markdown文档时若不能用vim这怎么能受的了! 下面是我编写markdown的时候用到的插件 Plugin 'Markdown'Plugin 'Markdown-syn ...

随机推荐

  1. 【C#】详解C#序列化

    目录结构: contents structure [+] 简介 控制序列化和反序列化 特性(OnSerializing.OnSerialized.OnDeserializing.OnDeseriali ...

  2. KeyTool 和 OpenSSL 相互转换 [转]

    REM 生成自签名 CA 证书 REM Win32 OpenSSL REM http://slproweb.com/products/Win32OpenSSL.html REM How to crea ...

  3. 5 Protocols For Event-Driven API Architectures

    The internet is a system of communication, and as such, the relationship between client and server, ...

  4. Atitit 计算word ppt文档的页数

    Atitit 计算word ppt文档的页数 http://localhost:8888/ http://git.oschina.net/attilax/ati_wordutil private vo ...

  5. Python--Redis实战:第四章:数据安全与性能保障:第7节:非事务型流水线

    之前章节首次介绍multi和exec的时候讨论过它们的”事务“性质:被multi和exec包裹的命令在执行时不会被其他客户端打扰.而使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行 ...

  6. mysql中update+select

    mysql中不支持嵌套查询后更新操作. 但是可以使用inner join来解决自身的更新问题,参考如下例子: update hera_job a inner join( ),'"') as ...

  7. Java知多少(100)图像处理基础

    图像是由一组像素构成,用二进制形式保存的图片.java语言支持GIF.JPEG和BMP这3种主要图像文件格式.java语言的图像处理功能被封装在Image类中. 图像载入和输出 在java程序中,图像 ...

  8. EventBus vs Otto vs Guava--自定义消息总线

    同步发表于http://avenwu.net/ioc/2015/01/29/custom_eventbus Fork on github https://github.com/avenwu/suppo ...

  9. 关于C#中的动态数组ArrayList

    在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类与Array类的区别 ArrayList类实 ...

  10. Go语言_range(范围)理解

    一.Go语言中的range Go 语言中 range 关键字用于 for循环中迭代数组(array).切片(slice).链表(channel)或集合(map)的元素: 在数组和切片中它返回元素的索引 ...