सी

11

के लिए विम फ़ंक्शन संकेत मैं कुछ सरल, आमतौर पर "फ़ंक्शन संकेत" कहने की कोशिश कर रहा हूं। उदाहरण के लिए, झलक-आधारित संपादक यह है:सी

enter image description here

आप कोई नाम लिखें, और सिर्फ प्रोटोटाइप मिलता है। वहाँ vim में उस के साथ कुछ समस्याएं हैं:

  • आप तारीख
  • करने के लिए इसे बनाए रखने के लिए आप CX सीओ टाइप नहीं कर सकते( के बाद, आप बस मिल जाएगा "ctags के पुनर्निर्माण के लिए है पैटर्न नहीं मिला "
  • आप सामान्य मोड में CX सीओ टाइप नहीं कर सकते, कर्सर सिर्फ चारों ओर
  • कूद जाएगा आप शीर्ष

मैं एक फ़े की कोशिश की है पर कष्टप्रद पूर्वावलोकन विंडो मिलता है डब्ल्यू प्लगइन्स; उनमें से ज्यादातर गड़बड़ चीजें और भी अधिक [^ 1]। क्या कोई भी इसे पाने के लिए एक आसान तरीका सुझा सकता है? एक साधारण आयताकार जिसमें फ़ंक्शन प्रोटोटाइप होता है और कुछ भी नहीं।

[^ 1] यह वास्तव में दिमागी-धुंधला है कि इन प्लगइन में से कुछ बेवकूफ़ हैं। एक प्लगइन (मैं इसका उल्लेख नहीं करूँगा) वास्तव में .vim फ़ाइल में libc से कार्यों की एक सूची में निहित है।

+1

* एक प्लगइन (मैं इसका उल्लेख नहीं करूंगा) वास्तव में .vim फ़ाइल में libc * से कार्यों की एक सूची में निहित है। इसमें गलत क्या है? आपके पास कहीं डेटाबेस होगा, है ना? या यह समस्या है कि डीबी एक गुप्त अपठनीय मालिकाना प्रारूप में संग्रहीत नहीं है? – eckes

+0

@eckes वह प्लगइन पहले से ही ctags का उपयोग करता है। – user1497069

+0

:-) ठीक है। तो यह एक बुरा विचार है। – eckes

उत्तर

0

eclim (ग्रहण के साथ एकीकरण के लिए प्लगइन) का उपयोग करने का प्रयास करें।

यह समाधान बहुत अधिक है लेकिन यह सभी मामलों में काम करता है।

8

ctags स्वत: पूर्णता के लिए एक गड़बड़ है। मेरा सुझाव है कि आप एक कंपाइलर आधारित प्लगइन जैसे clang-complete या gcc-sense (इसने कोशिश नहीं की है) का प्रयास करें। फायदे हैं: वे क्या करते हैं काफी संकलन है

  • संकलन त्रुटियों स्रोत कोड के ऊपर फ्लाई पर चिह्नित कर रहे हैं के रूप में

    • अधिक सटीकता

    आप इसे रखने के लिए ctags के पुनर्निर्माण के लिए है तारीख

    अप करने के लिए आप ctags से निपटने के लिए की जरूरत नहीं है (वे अभी भी हालांकि आस-पास जाएं उपयोगी होते हैं)

    आप टाइप नहीं कर सकते सी एक्स सी ओ के बाद (, तुम बस मिल जाएगा

    आप क्या उम्मीद करेंगे "पैटर्न नहीं मिला"?

    आप सामान्य मोड में CX सीओ टाइप नहीं कर सकते, कर्सर बस आ जाएं

    आप हमेशा उस क्रम को पुन: मैप सकते हैं अगर आपको लगता है कि यह एक लगातार गलती है (nnoremap <C-x><C-o> a<C-x><C-o> की तरह कुछ)

    आप शीर्ष

    पर कष्टप्रद पूर्वावलोकन विंडो आप ०१२३८७८२२२ निकाल कर इस निष्क्रिय कर सकते हैं पाने के completeopt विकल्प से। देख :help completeopt

    मैं निम्नलिखित सेटअप का उपयोग कर रहा:

    here

    • clang-complete पूरा होने
    • के लिए
    • supertab समारोह हस्ताक्षर प्लेसहोल्डर के लिए tab कुंजी
    • ultisnips साथ पूरा करने के लिए। (यह भी snipmate साथ काम करता है)

    और कुछ vimrc सेटिंग्स:

    set pumheight=10    " so the complete menu doesn't get too big 
    set completeopt=menu,longest " menu, menuone, longest and preview 
    let g:SuperTabDefaultCompletionType='context' 
    let g:clang_complete_auto=0 " I can start the autocompletion myself, thanks.. 
    let g:clang_snippets=1  " use a snippet engine for placeholders 
    let g:clang_snippets_engine='ultisnips' 
    let g:clang_auto_select=2 " automatically select and insert the first match 
    

    का आनंद लें!