Vim技能修炼教程(17) - 编译自己的Vim
编译自己的Vim 前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项。其中最重要的就是脚本语言的支持,很多发行版本是不全的。为了支持我们所需要的功能,我们需要编译自己的Vim. 首先我们要下载Vim的源代码: git clone https://github.com/vim/vim.git Linux上编译Vim 以Ubuntu为例,首先要安装....
Vim技能修炼教程(16) - 浮点数计算函数
浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效。 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函数 asin() : arc sine反正弦函数 acos() : arc cosine反余弦函数 atan() : arc tangent反正切函数 atan2({X坐标},{Y坐标}) : a.....
Vim技能修炼教程(15) - 时间和日期相关函数
Vimscript武器库 前面我们走马观花地将Vimscript的大致语法过了一遍。下面我们开始深入看一下Vimscript都给我们准备了哪些武器。如果只用这些武器就够了,那么就太好了,只用Vimscript会导致最佳的兼容性。否则不管是用:python还是使用扩展库,都给可移植性带来麻烦。随着Vim的广泛移植,Vimscript带来的可移植性还是很可观的。这是一门跨相当多平台可用的语言。 之前....
Vim技能修炼教程(14) - 写个ex命令吧
写个ex命令吧 我们第二节开始就写了语法高亮的插件。这一节,我们学习第二种插件的写法,就是写个我们自己的ex命令。 自定义ex命令的命令是:command,我们在~/.vim/下建立一个plugin目录,然后创建一个test.vim之类的文件: :function Hello() :echom "Hello,World!" :endfunction :command Hello call He.....
Vim技能修炼教程(13) - 变量
VimScript变量 上节我们介绍了Python和Ruby来编写Vim插件的方式。不过,Python和Ruby并不是所有的Vim都支持的功能,如果以最小依赖的原则来说,还是原汁原味的Vimscripts是放置四海Vim而皆灵的方式。当代码规模变大时,Python,Ruby,Perl这些语言的引入将带来较高的效率。但是Vimscripts仍然是最基本的Vim语言,值得我们首先学好。 变量 做为一....
Vim技能修炼教程(12) - Vim的脚本语言支持
Vim的脚本语言支持 本节开始,我们正式接触vimscript这门古老的脚本语言。首先要说明,vim支持的扩展语言很多,比如python, python3, ruby, lua,tcl等常见脚本语言都有很好的支持。既可以支持脚本内嵌在.vimrc中,也可以执行python等脚本语言的文件。运行:version命令就可以看到当前的vim发行版本持哪些扩展语言: VIM - Vi IMproved ....
Vim技能修炼教程(11) - 代码折叠
上一讲我们是程序员篇的第一讲,关于代码跳转。代码跳转是一个付出很少收获很大的功能。这一节我们开始一个收获很多,但是付出也相对多一点功能:代码折叠。 代码折叠 折叠的类型 折叠有下面几种类型: Manual: 手动创建折叠。但是退出vim后就一切都没了。 Marker: 基于特定的字符组合进行折叠。 Expr: 定义正则表达式来处理折叠,这是最终的解决方案。 Indent: 这个最简单也最基本,.....
Vim技能修炼教程(10) - 代码跳转
程序员功能 前面我们用了5讲的篇幅来讲基本编辑的基本功:第4讲是基本操作,第5讲是操作符,第6讲行编辑ex命令,第7讲可视模式,第8讲多窗口,第9讲缓冲区和标签页。从这一讲开始,我们从通用功能向程序员常用功能挺进。首先我们从浏览代码最常用的跳转功能开始。 代码跳转 代码跳转,需要传说中的Exuberant Ctags工具,地址在:http://ctags.sourceforge.net/。当然大....
Vim技能修炼教程(7) - 可视模式
可视模式 可视模式是与正常模式、插入模式一起并列的模式。它的作用就像图形化编辑器下用鼠标来选择一个块。 在vim下,使用正常模式和ex命令,连搜带跳行的,未必就比用鼠标慢。 我们先做一个例子找找感觉,体验一下vim中可视模式的用法。 我们假设这样一段代码: #include <stdlib.h> int main(int argc, char* argv[]) { retur...
Vim技能修炼教程(3) - 语法高亮进阶
语法高亮进阶 首先我们复习一下上节学到的三个命令: syntax match用于定义正则表达式和规则的对应 highlight default定义配色方案 highlight link将正则规则和配色方案对应起来 但是,定义好了规则,如何让它自动生效呢?我们需要识别文件类型。 识别文件类型 我们创建一个新插件,建立一个ftdetect目录,然后为这个类型创建一个vim文件,比如之前logca...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注