博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vim技能修炼教程(17) - 编译自己的Vim
阅读量:6237 次
发布时间:2019-06-22

本文共 2095 字,大约阅读时间需要 6 分钟。

摘要: 随着我们的vim知识越来越丰定,我们已经可能需要编译自己的vim了

编译自己的Vim

前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项。其中最重要的就是脚本语言的支持,很多发行版本是不全的。为了支持我们所需要的功能,我们需要编译自己的Vim.

首先我们要下载Vim的源代码:

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

Linux上编译Vim

以Ubuntu为例,首先要安装一些库的开发包,例:

sudo apt-get 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 ruby-dev mercurial

图形化界面支持

GUI已经统治世界了,GUI会给用户带来方便,我们后面也会讲菜单的用法。首先,我们需要能编译出带GUI的版本。

enable-gui支持下面一些选项:

  • auto: 由vim自动选择
  • no: 没有gui
  • gtk2
  • gtk3
  • gnome2
  • motif
  • athena
  • neXtaw
  • photon
  • carbon

我们首先试试使用motif库的效果:

motif

实现步骤:

1. 首先安装motif库。
2. 然后安装motif-dev库。
3. configure --enable-gui=motif

如何安装motif库呢,我们以ubuntu 12.04为例,首先启动vim,执行下面的命令

:read !apt-cache search motif

然后我们在结果里面看到了libmotif4和libmotif-dev,分别用:!sudo apt-get install去安装它们就好。

然后执行:

configure --enable-gui=motifmake

运行src/vim -g,就可以看到motif界面的vim啦。

同样的方法,我们可以用来生成gtk2,gtk3, gnome2等界面风格。

扩展语言的支持

Vim目前一共支持7种扩展语言:

  • lua: Lua语言
  • perl:Perl语言
  • python:Python语言2.x版本
  • python3:Python语言3.x版本
  • tcl:Tcl语言。
  • ruby: Ruby语言
  • mzscheme: Racket语言,是Scheme语言的一种方言。

支持这些语言需要三步曲:

1. 安装语言本身。要支持一门语言,连语言都不安装说不过去哈
2. 安装语言的开发包。vim需要头文件和开发库
3. configuration打开支持选项

对于需要指定语言路径的,可能还需要第4步。

我们以perl为例来说明:

第一步,安装perl:

sudo apt-get install perl

sudo apt-get install perl6

第二步,安装perl的开发库:

sudo apt-get install libperl-dev

第三步,重新配置并编译

./configure --enable-perlinterp

这些都配好了之后,我们就可以编译出一版基本上全功能的版本了:

gtk3

编译命令示例:

./configure --enable-gui=gtk3 --enable-python3interp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-mzschemeinterp --enable-perlinterp --with-vim-name=vim8

Mac上编译vim

在Mac上,我们需要一个定制的版本MacVim:

enable-gui时不用指定,默认就好。

命令例:

./configure --enable-gui --enable-pythoninterp --enable-python3interp --enable-perlinterp --enable-mzschemeinterp --enable-rubyinterp --enable-cscope --enable-tclinterp --enable-luainterp --with-lua-prefix=/usr/local/Cellar/lua/5.2.4_4/ ``` 编译之后会生成Vim.app,带图形界面: ![macvim](https://yqfile.alicdn.com/625c9bf33baab9476ee975cdaa2c3a66bdd7ed81.png) 在mac上缺什么模块就用Homebrew来安装,一般不用指定,都可找到。

 

转载于:https://www.cnblogs.com/jzy996492849/p/7234226.html

你可能感兴趣的文章
Gerrit使用简介
查看>>
SQL2008报表三种实现Reporting Service2008匿名访问的方法(转)
查看>>
emacs 根据文件名自动加载内容
查看>>
Win7最高权限问题
查看>>
pdf关闭工具栏
查看>>
java设计模式10:Flyweight
查看>>
javascript笔记:深入分析javascript里对象的创建(上)
查看>>
获取引用js文件所在的路径(做jquery插件用)
查看>>
Android实现计时与倒计时的几种方法
查看>>
日期相关
查看>>
Windows Server 8 开发预览版
查看>>
CentOS在同一个窗口打开文件夹
查看>>
从零开始学MVC3——创建项目
查看>>
java笔记:熟练掌握线程技术---基础篇之解决资源共享的问题(中)--中篇
查看>>
Windows MDL原理总结
查看>>
12篇学通C#网络编程——第二篇 HTTP应用编程(上)(转)
查看>>
SSH服务连接时常见问题解答
查看>>
SQL Server2012中的Throw语句尝试
查看>>
[观点]尽可能的缓存
查看>>
怎么了解某一研究领域的总体发展趋势
查看>>