2009-08-31 5 views
5

मैं बस एक समारोह से अगले में .c/.cpp फ़ाइलों में कूदना चाहता हूं। मैं उसको कैसे करू?एक सी/सी ++ फ़ंक्शन से अगले (दोनों दिशाओं) में कैसे स्थानांतरित करें

+0

जावा/सी ++ तरीकों http://stackoverflow.com/questions/12128678/vim-go-to-beginning-end-of-next-method (एक शीर्ष 'वर्ग पर सीमित होने चाहिए {}') , फ़ंक्शन की शुरुआत: http://stackoverflow.com/questions/2109503/how-to-jump-to-the-beginning-of-a-function-body-in-vim –

उत्तर

9

मेरा मानना ​​है कि आप ]] जो प्रथम स्तंभ पर अगले { चार करने के लिए कूदता है के लिए देख रहे हैं।

इसी तरह के विकल्प हैं, बस अधिक जानकारी के लिए :help ]] आज़माएं।

1

विपुल-ctags यह Emacs साथ काम करता है पर एक नजर डालें, और अपने "vim" बात ;-)

7

के उपयोग के बारे में [[और]], vim डॉक्स में motion.txt से निम्न पर ध्यान दें:

 

If your '{' or '}' are not in the first column, and you would like to use "[[" 
and "]]" anyway, try these mappings: 
    :map [[ ?{w99[{ 
    :map ][ /}b99]} 
    :map ]] j0[[%/{ 
    :map [] k$][%?} 
+2

इनके साथ समस्या यह है कि यदि आपके पास है एक खोज सक्रिय है और आप इन मानचित्रों का उपयोग करते हैं, आपकी खोज ओवरराइट की जाएगी। – Jake

2

मैं कार्यों के साथ इन मैपिंग जो कर देगा [[और]] काम का उपयोग कि डॉन लाइन की शुरुआत में शुरूआत नहीं करें।

map ]] :call search("^\\(\\w.*\\)\\?{")<CR> 
map [[ :call search("^\\(\\w.*\\)\\?{", "b")<CR> 
map ][ :call search("^}")<CR> 
map [] :call search("^}", "b")<CR> 
+0

हू, कर्सर को मैच के अंत में बनाएं जो '{' या '}' जैसे 'मानचित्र'] है: कॉल सर्च ("^ \\ (\\ w। * \\) \\? {", " ई ") 'शायद बेहतर। – zhenguoli

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