• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ruby开发vim插件小结

    在开始编写插件之前,你需要确认 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()
    rubyEOF
    buf = VIM::Buffer.current
    puts "current buffer name: #{buf.name} number: #{buf.number} length: #{buf.length}"
    EOF
    endfunction
    

    function与endfunction是vim中用于定义函数的,在”rubyEOF”和”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
    

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

    您可能感兴趣的文章:
    • 使用python开发vim插件及心得分享
    • PHP语法自动检查的Vim插件
    • 使用Python编写vim插件的简单示例
    • 详解如何使用Python编写vim插件
    • VIM实现文件快速跳转插件详解
    上一篇:优化Ruby脚本效率实例分享
    下一篇:Ruby On Rails中如何避免N+1问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ruby开发vim插件小结 ruby,开发,vim,插件,小结,