2009-08-19 44 views
14

Tôi sử dụng vim với các plugin khác nhau để chỉnh sửa mã ruby. Tôi có thiết lập tô sáng cú pháp thích hợp nhưng tôi tự hỏi liệu có ai biết cách lấy cú pháp ruby ​​kiểm tra, tương tự như những gì bạn có thể thấy trong IDE chẳng hạn như studio trực quan, radrails, v.v.Kiểm tra cú pháp Ruby trong vim

Thứ gì đó chỉ đơn giản là chuyển nội dung màu đỏ hoặc làm nổi bật khi tôi thiếu 'kết thúc' hoặc có dòng mã được xây dựng không đúng cách sẽ ngọt ngào.

Tôi googled và đi qua plugin này, http://github.com/scrooloose/syntastic/tree/master nhưng tôi đã tự hỏi nếu có ai có bất kỳ đề xuất tốt hơn.

Trả lời

12

awesome_person là đúng, ":w !ruby -c" sẽ làm. Để thuận tiện hơn, hãy thêm dòng này vào ~/.vimrc:

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

Sau đó, cú pháp được kiểm tra khi nhấn phím F9.

+0

Nó không chính xác những gì tôi muốn nhưng điều này hoạt động khá tốt. Cảm ơn. – roybotnik

0

Plugin rails.vim làm nổi bật cú pháp tuyệt vời, miễn là bạn ở trong một số định dạng của nó. Ghép đôi điều này với tự động thụt đầu dòng (ggVG =) và bạn sẽ có thể có được một ý thức chung nếu tài liệu được hình thành tốt, hay không.

+3

Chỉ để tham khảo trong tương lai, gg = G sẽ làm như vậy và sẽ giúp bạn tiết kiệm một vài lần nhấn phím. –

+0

Từ. Tôi đã nhận thức được những thứ đó, nhưng tôi đã hy vọng rằng ai đó có thể biết về một cái gì đó nhiều hơn một chút giống như ide. – roybotnik

+0

Cảm ơn rson tip, mọi lần gõ phím :) – Kenny

0

Có vẻ như một vài người đã thử cách này, nhưng không ai cố gắng quá nhiều. Cá nhân tôi khuyên bạn nên sử dụng autotest trong một cửa sổ đầu cuối riêng biệt.

Try this, nếu bạn chỉ muốn lỗi cú pháp.

Nếu bạn muốn điều đó xảy ra lỗi trong thời gian chạy là tốt, có lẽ bạn like this instead.

+0

Câu trả lời của bạn không hữu ích. Nó chỉ chứa các liên kết. Nếu bạn đặt liên kết, hãy cố gắng bao gồm nhiều ngữ cảnh hơn hoặc ít nhất là ý tưởng về những gì tôi có thể tìm thấy khi nhấp vào chúng. – Docunext

0

Kiểm tra bằng cách sử dụng các plugin CTK: http://www.vim.org/scripts/script.php?script_id=2618

và thử điều này trong vimrc của bạn:

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

Điều đó (với ctk.vim) sẽ thực hiện một biên dịch mỗi khi tệp được lưu.

+0

Tôi nên làm rõ, bằng cách "biên dịch", tôi có nghĩa là nó sẽ chạy tập tin ruby ​​của bạn với tùy chọn kiểm tra cú pháp của Ruby (-w). – thnetos

22

Bạn có thể kiểm tra cú pháp bộ đệm hiện tại bằng ruby ​​mà không cần tải xuống bất kỳ plugin nào. Lệnh này là:

:w !ruby -c 
8

Tôi nghĩ rằng các câu trả lời hiện có đã lỗi thời. Một trình biên dịch ruby ​​plugin đi kèm với vim bây giờ, vì vậy tất cả các bạn nên cần phải làm bây giờ là chạy :compiler ruby hoặc thêm lệnh này vào tệp ~/.vim/ftplugin/ruby.vim của bạn (tạo nó nếu cần). Sau đó, không chỉ chạy cú pháp :make kiểm tra mã của bạn, nó sẽ đưa bạn vào vim quickfix mode, cho phép bạn chuyển trực tiếp đến lỗi.

Tôi nói "nên" vì trình biên dịch plugin bỏ lỡ điểm một chút và không đặt makeprg một cách hợp lý. Dưới đây là những gì tôi thực sự đưa vào ~/.vim/ftplugin/ruby.vim:

compiler ruby 
setlocal makeprg=ruby\ -wc\ % 

tôi suggested rằng đây là mặc định.

+1

Vâng tôi nghĩ đây là cách tốt nhất. Sau đó, bạn có thể sử dụng: cn để đi đến thông báo lỗi tiếp theo trong danh sách sau khi chạy: thực hiện như là tốt. – yoshiwaan

Các vấn đề liên quan