VIM的修炼等级】的更多相关文章

用vim 快两年了 看过教程也不少,总的来说还是得自己多练习,当自己觉得有需要的时候,再添加功能.这里分享个看过的最好的教程,出自贴吧的某个朋友,写的很好 零 学会盲打 壹 配置文件先从最简开始,在 伍级 前别考虑配置插件,千万别硬背命令,千万别直接取用别人的配置文件 基本还是长时间待在 insert mode 下,会觉得 vim 也不过尔尔,也不好用, 这个时候,编辑效率可能比用原来的一般编辑器还低,别人问使用什麼编辑器时, 多半会回答:vim 再配一个 nano, kate, kwrite,…
世界上有两个伟大的编辑器:一个是emacs,一个是vi.它们从诞生以来,一直在Unix/Linux世界得到最广泛的支持. 尽管过了几十年,在Windows平台上和跨平台上有层出不穷的后起之秀不断挑战它们的地位,比如编辑器界的Sublime Text,Ultra Editor,Notepad++,pspad,Atom,Visual Studio Code,IDE界的Eclipse, IntellJ IDEA, NetBeans等等,但是它们的地位从未动摇过. 写C#的最好IDE一定是Visual…
编译自己的Vim 前面我们已经对Vim有比较丰富的了解了.我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项.其中最重要的就是脚本语言的支持,很多发行版本是不全的.为了支持我们所需要的功能,我们需要编译自己的Vim. 首先我们要下载Vim的源代码: git clone https://github.com/vim/vim.git Linux上编译Vim 以Ubuntu为例,首先要安装一些库的开发包,例: sudo apt-get install libncurses5-dev lib…
浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函数 asin() : arc sine反正弦函数 acos() : arc cosine反余弦函数 atan() : arc tangent反正切函数 atan2({X坐标},{Y坐标}) : arc tangent反正切函数 sinh() : hyperbolic sine 双曲正弦函数 cosh…
Vimscript武器库 前面我们走马观花地将Vimscript的大致语法过了一遍.下面我们开始深入看一下Vimscript都给我们准备了哪些武器.如果只用这些武器就够了,那么就太好了,只用Vimscript会导致最佳的兼容性.否则不管是用:python还是使用扩展库,都给可移植性带来麻烦. 随着Vim的广泛移植,Vimscript带来的可移植性还是很可观的.这是一门跨相当多平台可用的语言. 之前我们为了区分normal命令和ex命令,在脚本中使用ex命令的前面都加上了":"前缀.从这…
写个ex命令吧 我们第二节开始就写了语法高亮的插件.这一节,我们学习第二种插件的写法,就是写个我们自己的ex命令. 自定义ex命令的命令是:command,我们在~/.vim/下建立一个plugin目录,然后创建一个test.vim之类的文件: :function Hello() :echom "Hello,World!" :endfunction :command Hello call Hello() 首先,我们定义一个函数.函数名的首字母必须大写.函数中调用:echom去显示一个字…
VimScript变量 上节我们介绍了Python和Ruby来编写Vim插件的方式. 不过,Python和Ruby并不是所有的Vim都支持的功能,如果以最小依赖的原则来说,还是原汁原味的Vimscripts是放置四海Vim而皆灵的方式.当代码规模变大时,Python,Ruby,Perl这些语言的引入将带来较高的效率.但是Vimscripts仍然是最基本的Vim语言,值得我们首先学好. 变量 做为一种脚本语言,Vimscript当然是支持变量的. 不过Vimscript的特色是,显式指定作用域.也…
Vim的脚本语言支持 本节开始,我们正式接触vimscript这门古老的脚本语言. 首先要说明,vim支持的扩展语言很多,比如python, python3, ruby, lua,tcl等常见脚本语言都有很好的支持.既可以支持脚本内嵌在.vimrc中,也可以执行python等脚本语言的文件. 运行:version命令就可以看到当前的vim发行版本持哪些扩展语言: VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 22 2017 03:02:45)…
上一讲我们是程序员篇的第一讲,关于代码跳转.代码跳转是一个付出很少收获很大的功能.这一节我们开始一个收获很多,但是付出也相对多一点功能:代码折叠. 代码折叠 折叠的类型 折叠有下面几种类型: * Manual: 手动创建折叠.但是退出vim后就一切都没了. * Marker: 基于特定的字符组合进行折叠. * Expr: 定义正则表达式来处理折叠,这是最终的解决方案. * Indent: 这个最简单也最基本,根据缩进来折叠. * Syntax: 根据程序语义进行折叠. 我们先看一个例子,左边是采…
程序员功能 前面我们用了5讲的篇幅来讲基本编辑的基本功:第4讲是基本操作,第5讲是操作符,第6讲行编辑ex命令,第7讲可视模式,第8讲多窗口,第9讲缓冲区和标签页. 从这一讲开始,我们从通用功能向程序员常用功能挺进.首先我们从浏览代码最常用的跳转功能开始. 代码跳转 代码跳转,需要传说中的Exuberant Ctags工具,地址在:http://ctags.sourceforge.net/. 当然大家根据系统不同各显神通吧.比如我是macOS,就通过Homebrew来安装了.大家手头有什么"ap…