2011-12-16 14 views
10

यदि मैं रूबी फ़ाइल के किसी भी शब्द पर माउस को घुमाता हूं, तो मुझे टूलटिप संदेश मिलता है।जब मैं रूबी फ़ाइल के किसी भी शब्द पर होवर करता हूं तो मुझे पॉपअप संदेश क्यों मिल रहा है?

उस पॉपअप संदेश का एक स्क्रीनशॉट popup message पर है।

cat ~/.gvimrc रिटर्न:

function! SyntaxBalloon() 
    let synID = synID(v:beval_lnum, v:beval_col, 0) 
    let groupID = synIDtrans(synID) 
    let name = synIDattr(synID, "name") 
    let group = synIDattr(groupID, "name") 
    return name . "\n" . group 
endfunction 

set balloonexpr=SyntaxBalloon() 
set ballooneval 

"how syntax highlighting groups for word under cursor 
nmap <F2> :call <SID>SynStack()<CR> 
function! <SID>SynStack() 
    if !exists("*synstack") 
     return 
    endif 
    echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")') 
endfunc 

उत्तर

10

आप vim-माणिक उपयोग कर रहे हैं कर रहे हैं मुझे लगता है। खैर, इस प्लगइन ने balloonexpr परिभाषित किया। आप इसे here पढ़ सकते हैं। व्यक्तिगत तौर पर मैं यह काफी कष्टप्रद तो मैं इसके साथ निष्क्रिय कर दिया है लगता है:

setlocal balloonexpr= 
मेरी .vim/after/ftplugin/ruby.vim फ़ाइल में

+0

नहीं, यह है ~/.vim/प्लगइन में NERD_tree.vim, मैं मूल पोस्ट/प्रश्न अपडेट किया गया। इसे फिर से समझने के लिए देखें। – shibly

+0

मेरे पास NERD_tree था और इसे प्रदान किए गए कोड –

1

टूलटिप में आप जो देखते हैं वह ri का डिफ़ॉल्ट आउटपुट होता है जब तर्क के बिना चलाया जाता है।

मुझे लगता है कि मैंने कुछ हफ्ते पहले यहां लगभग एक समान समस्या देखी: ri विम स्क्रिप्ट/मैक्रो जिसने किसी भी तरह से सही तर्क (कर्सर के नीचे शब्द) ri पर नहीं भेजा।

आप स्क्रिप्ट/प्लगइन/मैक्रो/autocommand कि ri के साथ बातचीत करें और देखें कि माना जाता है शिकार करना चाहिए:

  1. इसे प्रभावी ढंग से कर्सर के तहत शब्द पकड़ लेता है।
  2. वास्तव में इसे ri पर भेजता है।
  3. ri से बात करने के लिए सही API का उपयोग करता है।

क्या आप जेनस या कुछ अन्य "डिस्ट्रो" का उपयोग करते हैं?

23

साफ सबसे आसान तरीका है अपने .vimrc में इस डाल करने के लिए है: आप Syntastic और पैथोजन प्रारंभ, अगर आप उन प्लग इन का उपयोग यह बाद

  • :set noballooneval

प्लेस।

कुछ उदाहरणों लोगों noballooneval की स्थापना के साथ समस्याओं पड़ा है, वहाँ है कुछ काम arounds:

  • कुछ अपने noballooneval सेटिंग आप :verb set ballooneval? उपयोग कर सकते हैं यह करने के लिए परिवर्तन देखने के लिए अधिलेखन जाता है।
  • :set balloondelay=100000
  • :setlocal balloonexpr=
  • प्लगइन में हमलावर लाइन का उपयोग कर रहे (balloon के लिए ग्रेप) इसे बाहर टिप्पणी का पता लगाएं और।
  • यदि आप अपना खुद का विम बना रहे हैं, balloon_eval एक संकलन-समय कॉन्फ़िगरेशन विकल्प है, तो आप सुविधा को सक्षम या अक्षम करने के लिए इसका उपयोग कर सकते हैं।

संदर्भ:

यह भी देखें: I get this window while editing Ruby Files in Vim. What is it?

+0

के साथ हल किया गया लिंक बनाने के लिए संपादित किया गया :) – number5

+0

यदि कोई और एक्लिम का उपयोग कर रहा है, तो आप अपने .vimrc –

1

आप MacVim, उपयोग कर रहे हैं में निर्मित netrw प्लगइन अपने set noballooneval सेटिंग ऊपर लिख देगा। ऐसा करने के लिए है:

" Disable hover tooltips 
set noballooneval 
let g:netrw_nobeval = 1 
+0

पर 'g g: EclimShowCurrentErrorBalloon = 0' जोड़ने वाले पॉपअप को अक्षम कर सकते हैं। यह उत्तर एक योग्य है उच्च स्कोर, क्योंकि मेरे मामले में यह * netrw मेरी सेटिंग्स clobbering था। विशेष रूप से, यह लिनक्स पर जीवीआईएम में था इसलिए यह सिर्फ मैकवीम नहीं है। इसके अलावा, के 'सुझाव: क्रिया सेट ballooneval' किसी कारण से यह समझ नहीं आया। और netrw का उपयोग करने के बाद मैं clobbering अटक गया। विशिष्ट तरीका मैं बग को गति प्रदान होता था: 1. प्रारंभ विम का उपयोग कर ('noballooneval' सेट किया गया है) 2. ओपन और एक निर्देशिका नेविगेट, netrw को सक्रिय (यह' ballooneval' साथ clobbers)। 3. ओपन एक रूबी कि बफर में दायर। बाद में, पॉपअप के साथ हमला करें ('ballooneval' अभी भी सक्रिय है) –

0

मैं माफी चाहता हूँ, netrw के गुब्बारे मदद केवल दिखाता है जब कर्सर एक netrw बफर में और netrw के बैनर में है। विशेष रूप से, यह रूबी फ़ाइलों को प्रभावित नहीं करता है।

संबंधित मुद्दे

 संबंधित मुद्दे