2009-08-19 17 views
14

में रूबी सिंटैक्स चेकिंग मैं रूबी कोड को संपादित करने के लिए विभिन्न प्लगइन के साथ विम का उपयोग करता हूं। मेरे पास सेट अप करने के लिए उचित सिंटैक्स हाइलाइटिंग है लेकिन मैं सोच रहा था कि अगर किसी को रूबी सिंटैक्स की जांच करने का तरीका पता है, तो आप दृश्य स्टूडियो, रेड्राइल्स इत्यादि जैसे आईडीई में क्या देख सकते हैं?विम

कुछ ऐसा जो केवल सामान को लाल या बंद कर देगा जब मुझे 'अंत' याद आ रहा है या कोड की अनुचित रूप से निर्मित लाइन है, तो वह मीठा होगा।

मैं गुगल हो गया और इस प्लगइन में आया, http://github.com/scrooloose/syntastic/tree/master लेकिन मैं सोच रहा था कि किसी के पास कोई बेहतर सुझाव है या नहीं।

उत्तर

12

awesome_person सही है, ":w !ruby -c" करेगा। यह अधिक सुविधाजनक बनाने के लिए, अपने ~/.vimrc में इस पंक्ति जोड़ें:

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

तब वाक्य रचना F9 कुंजी दबाने पर जाँच हो जाता है।

+0

यह वही नहीं है जो मैं चाहता था लेकिन यह बहुत अच्छी तरह से काम करता है। धन्यवाद। – roybotnik

0

rails.vim प्लगइन उत्कृष्ट वाक्यविन्यास हाइलाइटिंग करता है, जब तक आप इसकी कुछ स्वरूपण सीमाओं में रहते हैं। ऑटो-इंडेंटेशन (ggVG =) के साथ इसे युगल करें और यदि दस्तावेज़ अच्छी तरह से बनाया गया है या नहीं, तो आपको सामान्य ज्ञान प्राप्त करने में सक्षम होना चाहिए।

+3

बस भविष्य के संदर्भ के लिए, जीजी = जी वही करता है और आपको कुछ कीस्ट्रोक बचाएगा। –

+0

शब्द। मैं उस सामान से अवगत था, लेकिन मैं उम्मीद कर रहा था कि किसी को थोड़ा और विचार-विमर्श की तरह कुछ पता हो। – roybotnik

+0

टिप रसन के लिए धन्यवाद, प्रत्येक कीस्ट्रोक की गणना :) – Kenny

0

ऐसा लगता है कि कुछ लोगों ने यह कोशिश की है, लेकिन किसी ने भी बहुत मेहनत की कोशिश नहीं की है। व्यक्तिगत रूप से मैं एक अलग टर्मिनल विंडो में autotest का उपयोग करने की सलाह देते हैं।

Try this, यदि आप सिन्टेक्स त्रुटियों को चाहते हैं।

आप त्रुटियों कि रूप में अच्छी तरह रनटाइम पर हो चाहते हैं, आप हो सकता है like this instead.

+0

आपके उत्तर में कुछ भी उपयोगी नहीं है। इसमें केवल लिंक हैं। यदि आप लिंक डालते हैं, तो कृपया अधिक संदर्भ, या कम से कम एक विचार शामिल करने का प्रयास करें जो मुझे क्लिक करते समय मिल सकता है। – Docunext

0

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's an Rspec file (extra warnings) 
    let name = expand('<afile>') 
    if name !~ 'spec' 
    CC 
    endif 
endfunction 
autocmd BufWritePost *.rb call Compile() 

वह (ctk.vim के साथ) फ़ाइल सहेजने पर हर बार एक संकलन करेगा।

+0

मुझे "संकलन" द्वारा स्पष्ट करना चाहिए, मेरा मतलब था कि यह रूबी के सिंटैक्स जांच विकल्प (-w) के साथ आपकी रूबी फ़ाइल चलाएगा। – thnetos

22

आप किसी भी प्लगइन को डाउनलोड किए बिना रूबी में वर्तमान बफर को सिंटैक्स कर सकते हैं। आदेश है:

:w !ruby -c 
8

मुझे लगता है कि मौजूदा उत्तर पुराने हैं। एक रूबी कंपाइलर प्लगइन अब विम के साथ आता है, इसलिए आप सभी को अब :compiler ruby चलाएं, या यह आदेश ~/.vim/ftplugin/ruby.vim फ़ाइल में जोड़ें (इसे आवश्यक होने पर बनाएं)। फिर, न केवल :make सिंटैक्स आपके कोड की जांच करेगा, यह आपको quickfix mode पर रखेगा, जिससे आप सीधे त्रुटियों पर कूद सकते हैं।

मैं कहता हूं "चाहिए" क्योंकि कंपाइलर प्लगइन थोड़ा सा याद करता है और makeprg समझदारी से सेट नहीं करता है। यहाँ क्या मैं वास्तव में ~/.vim/ftplugin/ruby.vim में डाल है:

compiler ruby 
setlocal makeprg=ruby\ -wc\ % 

मैं suggested कि यह डिफ़ॉल्ट हो।

+1

हाँ मुझे लगता है कि यह सबसे अच्छा तरीका है। फिर आप इसे चलाने के बाद सूची में अगले त्रुटि संदेश पर जाने के लिए: cn का उपयोग कर सकते हैं: साथ ही साथ। – yoshiwaan