如何使用Vim从do跳到Ruby块的末尾?

gus*_*ans 15 ruby vim

我正在使用vim进行ruby,php和perl开发.%从块的开头(子程序/函数/方法/ if)跳到结尾有一个快捷方式,反之亦然.对我来说%,ruby中的do/end标签不起作用.

我怎么能用vim做到这一点?

sou*_*rge 13

matchit插件允许符合不止括号和评论.这里可以找到ruby版本.

  • 请注意,对于更新版本的Vim,默认包含matchit,据我所知,ruby-matchit.vim只是破坏了一些东西.不要安装东西.您想要的只是.vimrc中的以下内容(由于兼容性问题,默认情况下未启用):`runtime macros/matchit.vim` (9认同)

gus*_*ans 6

使用matchit插件和〜/ .vim/ftplugin/ruby​​.vim中的代码现在可以正常工作:)

" Matchit support:
if exists("loaded_matchit")
  if !exists("b:match_words")
    let b:match_ignorecase = 0
    let b:match_words =
\ '\%(\%(\%(^\|[;=]\)\s*\)\@<=\%(class\|module\|while\|begin\|until\|for\|if\|unless\|def\|case\)\|\<do\)\>:' .
\ '\<\%(else\|elsif\|ensure\|rescue\|when\)\>:\%(^\|[^.]\)\@<=\<end\>'
  endif
endif
Run Code Online (Sandbox Code Playgroud)