Проверка синтаксиса Ruby в vim

Я использую vim с различными плагинами для редактирования рубинового кода. У меня есть правильная подсветка подсветки синтаксиса, но мне было интересно, знает ли кто-нибудь, как получить рубиновый синтаксис, похожий на то, что вы можете увидеть в среде IDE, такой как visual studio, radrails и т.д.?

Что-то, что просто перевернуло бы красное или размытое выделение, когда я пропущу "конец" или неправильно построил строку кода, будет приятным.

Я googled и наткнулся на этот плагин, http://github.com/scrooloose/syntastic/tree/master, но мне было интересно, есть ли у кого-нибудь лучшие предложения.

Ответы

Ответ 1

awesome_person прав, ":w !ruby -c" будет делать. Чтобы сделать его более удобным, добавьте эту строку в свой файл ~/.vimrc:

autocmd FileType ruby map <F9> :w<CR>:!ruby -c %<CR>

Затем синтаксис проверяется при нажатии клавиши F9.

Ответ 2

Вы можете синтаксически проверять текущий буфер в рубине без загрузки каких-либо плагинов. Команда:

:w !ruby -c

Ответ 3

Я думаю, что существующие ответы устарели. Плагин компилятора ruby ​​поставляется с vim сейчас, поэтому все, что вам нужно сделать сейчас, - запустить :compiler ruby или добавить эту команду в ваш ~/.vim/ftplugin/ruby.vim файл (при необходимости создав его). Затем не только проведет синтаксис :make, проверит ваш код, он поместит вас в режим vim quickfix, что позволит вам перейти непосредственно к ошибкам.

Я говорю "должен", потому что плагин компилятора немного упускает точку и не устанавливает makeprg разумно. Вот что я на самом деле положил в ~/.vim/ftplugin/ruby.vim:

compiler ruby
setlocal makeprg=ruby\ -wc\ %

I предложил, что это будет по умолчанию.

Ответ 4

Плагин rails.vim отлично справляется с подсветкой синтаксиса, если вы останетесь в пределах своего форматирования. Соедините это с автоматическим отступом (ggVG =), и вы сможете получить общее представление о том, хорошо ли сформирован документ или нет.

Ответ 5

Кажется, что некоторые люди это пробовали, но никто не пытался слишком сильно. Лично я рекомендую использовать автотест в отдельном окне терминала.

Попробуйте это, если вам просто нужны ошибки syntex.

Если вам нужны ошибки, которые происходят и во время выполнения, вы можете вместо этого.

Ответ 6

Ознакомьтесь с использованием плагина CTK: http://www.vim.org/scripts/script.php?script_id=2618

и попробуйте это в вашем .vimrc:

" Compile Ruby code after writing (show warnings/errors)
function! Compile()
  " don't compile if it an Rspec file (extra warnings)
  let name = expand('<afile>')
  if name !~ 'spec'
    CC
  endif
endfunction
autocmd BufWritePost *.rb call Compile()

Это (с ctk.vim) будет выполнять компиляцию каждый раз, когда файл будет сохранен.