在vim中进行Ruby语法检查

roy*_*nik 14 ruby vim ruby-on-rails

我使用vim和各种插件来编辑ruby代码.我有正确的语法高亮设置,但我想知道是否有人知道如何获得ruby语法检查,类似于你可能在IDE,如visual studio,radrails等看到的?

当我错过一个'结束'或者有一个不正确构造的代码行时,只会把东西变成红色或突破突出的东西会很甜蜜.

我用谷歌搜索并遇到了这个插件,http://github.com/scrooloose/syntastic/tree/master但是我想知道是否有人有更好的建议.

awe*_*son 23

您可以在ruby中语法检查当前缓冲区而无需下载任何插件.命令是:

:w !ruby -c
Run Code Online (Sandbox Code Playgroud)


Ada*_*uša 12

awesome_person是对的,":w !ruby -c"会做的.为了更方便,在〜/ .vimrc中添加以下行:

autocmd FileType ruby map <F9> :w<CR>:!ruby -c %<CR>
Run Code Online (Sandbox Code Playgroud)

然后按F9键检查语法.


And*_*rew 9

我认为现有的答案已经过时了.红宝石编译器插件附带vim了,所以你应该现在需要做的运行:compiler ruby,或添加此命令到您的~/.vim/ftplugin/ruby.vim文件(如果有必要创建它).然后,不仅将运行:make语法检查您的代码,它将使您进入vim quickfix模式,使您能够直接跳转到错误.

我说"应该"因为编译器插件错过了一点并且没有makeprg合理设置.这是我实际投入的内容~/.vim/ftplugin/ruby.vim:

compiler ruby
setlocal makeprg=ruby\ -wc\ %
Run Code Online (Sandbox Code Playgroud)

建议这是默认的.