• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > ruby开发vim插件小结

ruby开发vim插件小结

作者:hebedich 字体:[增加 减小] 来源:互联网

hebedich 通过本文主要向大家介绍了vim for ruby,ruby插件,vim插件,vim插件安装,vim插件下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在开始编写插件之前,你需要确认 Vim 是否支持 Ruby,通过以下命令来判别:

$ vim --version | grep +ruby
</div>

如果输出为空,则表示你当前的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
</div>

这段代码就是用 VimL 编写的,它将检查 Vim 是否支持 Ruby。

接下来再判断该插件是否已经加载过了,以免重复加载:

if exists('g:loaded_ruby_demo_plugin')
 finish
endif
let g:loaded_ruby_demo_plugin = 1
</div>

所有的检查都没有问题,则开始插件的正文了。先定义一个函数。

function! DemoFun1()
ruby<<EOF
buf = VIM::Buffer.current
puts "current buffer name: #{buf.name} number: #{buf.number} length: #{buf.length}"
EOF
endfunction
</div>

function与endfunction是vim中用于定义函数的,在”ruby<<EOF”和”EOF”之间部分的是Ruby代码。这个例子是输出当前缓冲区的名字、编号以及总行数。 执行命令:call DemoFun1(),应该就可以看到输出结果了。

然后再举个例子说下函数的参数处理。

function! DemoFun2(arg1)
ruby<< EOF
puts "you input: #{VIM.evaluate('a:arg1')}"
EOF
endfunction
</div>

这里定义了一个函数接收一个参数,然后将其输出。使用 VIM.evaluate 将vim的变量转化为Ruby的变量。

为了方便我们再定义两个命令,以简化对这两个函数的调用。

command! -nargs=0 DemoFun1 call DemoFun1()
command! -nargs=1 -rang DemoFun2 call DemoFun2(<f-args>)
</div>

要获取完整的代码可以访问: 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
</div>

好了,先写这么多吧,其余的自己去尝试吧。

</div>

您可能想查找下面的文章:

  • ruby开发vim插件小结

相关文章

  • Ruby进行文件信息输出实例代码
  • Ruby创建“关键字”同名方法别名的方法
  • Ruby 之 class 中的 private、 protected、public
  • Ruby实现插入排序算法及进阶的二路插入排序代码示例
  • 详解Ruby on Rails中的Cucumber使用
  • 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用
  • Ruby常量查找路径问题深入研究
  • Java版的Ruby解释器 JRuby简介
  • 在操作系统上安装Ruby解释器的教程
  • Ruby中的钩子方法详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 艰难完成 nginx + puma 部署 rails 4的详细记录
    • Ruby程序中创建和解析XML文件的方法
    • Ruby 中一些百分号(%)的用法小结
    • Ruby on Rails中的ActiveRecord编程指南
    • Ruby 字符串处理
    • Ruby中常用的字符串处理函数使用实例
    • Ruby中用线程实现经典的生产者消费者问题代码实例
    • Ruby中的方法(函数)学习总结
    • ruby 单态方法 分析
    • ruby 对象的初始化 方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有