在开始编写插件之前,你需要确认 Vim 是否支持 Ruby,通过以下命令来判别:
$ vim --version | grep +ruby
如果输出为空,则表示你当前的vim不支持Ruby,需要重新编译一下,并启用对Ruby的支持。
顺便说下我当前的环境是:
vim 7.4
ruby 2.1.0
环境检查没有问题那么就开始吧。 在~/.vim/plugin目录下创建一个 demo.vim 文件。
在开头写上以下代码:
if !has('ruby') echo "Error: Required vim compiled with +ruby" finish endif
这段代码就是用 VimL 编写的,它将检查 Vim 是否支持 Ruby。
接下来再判断该插件是否已经加载过了,以免重复加载:
if exists('g:loaded_ruby_demo_plugin') finish endif let g:loaded_ruby_demo_plugin = 1
所有的检查都没有问题,则开始插件的正文了。先定义一个函数。
function! DemoFun1() ruby<<EOF buf = VIM::Buffer.current puts "current buffer name: #{buf.name} number: #{buf.number} length: #{buf.length}" EOF endfunction
function与endfunction是vim中用于定义函数的,在”ruby<<EOF”和”EOF”之间部分的是Ruby代码。这个例子是输出当前缓冲区的名字、编号以及总行数。 执行命令:call DemoFun1(),应该就可以看到输出结果了。
然后再举个例子说下函数的参数处理。
function! DemoFun2(arg1) ruby<< EOF puts "you input: #{VIM.evaluate('a:arg1')}" EOF endfunction
这里定义了一个函数接收一个参数,然后将其输出。使用 VIM.evaluate 将vim的变量转化为Ruby的变量。
为了方便我们再定义两个命令,以简化对这两个函数的调用。
command! -nargs=0 DemoFun1 call DemoFun1() command! -nargs=1 -rang DemoFun2 call DemoFun2(<f-args>)
要获取完整的代码可以访问: https://gist.github.com/wusuopu/c1182efefa85d4f6839b
接下来再简单说下vim中Ruby的使用。
vim为Ruby提供了一个VIM模块,通过它可以在Ruby中访问vim的接口。同时还提供了两个全局变量:$curwin、$curbuf,它们分别代表了当前窗口对象以及当前缓冲区对象。
VIM模块中有 Buffer 和 Window 两个对象,分别是用来对缓冲区和窗口进行操作的。同时VIM模块还提供了message、set_option、command和evaluate四个函数。
想要查看更多的帮忙信息,可以在vim中执行如下命令:
:help ruby
好了,先写这么多吧,其余的自己去尝试吧。
Vim 插件开发中文指南,主要包括 Vim 脚本语法、插件开发技巧等。 基本语法 注释 在写脚本时,经常需要在源码里面添加一些注释信息,辅助阅读源码,Vim 脚本注释比较简单,是以 " 开头的,只存在行注释,不存在块注释。因此,对于多行注释,需要再每行开头添加 "。 示例: " 这是一行注释, let g:helloworld = 1 " 这是在行尾注释 变量 在 Vim 脚本里,可以使用关键
插件,是可被添加到小程序内直接使用的功能组件,是对一组 js 接口、自定义组件或页面的封装,。开发者可以像开发小程序一样开发一个插件,供其他小程序使用。同时,小程序开发者可直接在小程序内使用插件,无需重复开发,但是在使用第三那个插件时,无法看到插件的代码。插件适合用来封装自己的功能或服务,提供给第三方小程序进行展示和使用。 开发小程序插件,大致要经过 开通插件功能,填写开发信息,提交审,发布,管理
使用插件,可以扩展Vim的功能。Vim支持许多插件,其中大多数都是免费提供的。本章是关于Vim插件的,将讨论以下主题内容 - 插件管理 一些有用的插件 1. 插件管理 本节讨论插件管理。 Vim提供各种插件管理器,但不会使用任何插件管理器,而是将手动执行所有这些步骤以便更好地理解。当理解了这些步骤,就可以使用插件管理器。 安装插件 要安装任何插件,请执行以下步骤 - 在用户的主目录中创建 .vim
问题内容: 我喜欢vim,但是由于没有Eclipse的IntelliSense /代码完成功能,这非常困难。我知道,我应该能够查看我有兴趣使用的API的方法签名和Java文档。我很乐意,但是我希望可以通过指尖访问它,而不必手动浏览源树或方便使用JDK参考。 哪些插件可以使此操作更容易? 问题答案: 我试了一下eclim。很好,基本上它在后台使用eclipse作为一种引擎,并提供了一个插件,可让您通
本文向大家介绍使用python开发vim插件及心得分享,包括了使用python开发vim插件及心得分享的使用技巧和注意事项,需要的朋友参考一下 vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可
vim-ruby-debugger 这是 vim 上调试 Ruby 程序的插件。