2010-01-21 19 views
34

शीर्षक के रूप में, यदि मैं फ़ंक्शन बॉडी के बीच में हूं और फ़ंक्शन बॉडी बहुत लंबा है, तो मैं फ़ंक्शन बॉडी की शुरुआत में कैसे कूद सकता हूं।विम में वर्तमान फ़ंक्शन बॉडी की शुरुआत में कैसे कूदें?

+5

क्या भाषा के लिए? – sykora

+1

@ सिकोरा: सी ++ और सी –

उत्तर

45

[m: किसी विधि की पिछली शुरुआत (जावा या इसी तरह की संरचित भाषा के लिए) [गिनती] पर जाएं।

+5

भी समान नहीं है, पाइथन में भी काम करता है :) – KevinDTimm

+0

और प्रतिक्रिया/ईएस 6/जावास्क्रिप्ट क्लास विधियों के लिए भी :-) –

+0

लेकिन केवल विधियों के लिए काम करता है, कार्यों नहीं ('वर्ग {}' संलग्न करने की आवश्यकता है)। :-(विधि विशिष्ट प्रश्न: http://stackoverflow.com/questions/12128678/vim-go-to-beginning-end-of-next-method –

0

?^{ के लिए खोज (पिछड़ा) सामान्य रूप से आपको वहां ले जाना चाहिए।

+2

ऐसे कई मामले हैं जहां यह गलत है ..... – KevinDTimm

+1

क्या वास्तव में "इतने सारे मामले हैं जहां यह गलत हो सकता है"? सवाल विशेष रूप से "फ़ंक्शन बॉडी के बीच में" से पूछता है, और सी कोड लिखते समय यह एक फ़ंक्शन के लिए एक बहुत ही गैर-मानक कोडिंग शैली होना चाहिए, जो किसी पंक्ति की शुरुआत में '{' से शुरू नहीं हो रहा है और साथ ही कुछ रेखा भी हो समारोह के भीतर भी '{' से शुरू होता है। – hlovdal

+2

आप वास्तव में '[{' कमांड – vincentleest

1

Btw, केवल अपेक्षाकृत यकीन है कि जिस तरह से यह करने के लिए सक्षम होने के लिए, vim को संशोधित this post

[संपादित करें]
और विपुल ctags द्वारा समर्थित भाषाओं के साथ यह केवल काम करता है देखने के लिए है। चूंकि हमें यह जानने के लिए फिट नहीं किया गया है कि आप कौन सी भाषा में ऐसा करना चाहते हैं, यह संभव है कि यह उत्तर या तो सही नहीं होगा।
[/ संपादित करें]

0

एक बार जब आप आप vim की this part को देखकर आप क्या कर सकते को देखने के लिए जब आप उन ब्लॉकों के बीच में कर रहे हैं पसंद कर सकते हैं हल कोड में ब्लॉक और पैराग्राफ इधर-उधर जाने दिया गया गया है दस्तावेज़ के।

चीजें आदि ब्लॉक हटाने के लिए, ब्लॉक से पहले डालें, ब्लॉक के बाद संलग्न,

HTH चाहते

4

सी भाषा [[

अपने सी कोड गैर मिस्र में है, तो शैली:

[[ 

[m ही काम करता है अगर आप एक संलग्न है फ़ंक्शन के आस-पास {}, उदा। जावा/सी ++ के लिए class { method(){} }

और यह एक अच्छा शर्त है कि दोनों मिस्र और गैर मिस्र ब्रेसिज़ के लिए काम करता है:

?^[^ \t#] 

उदाहरण:

void egypt() { 
#define DONTCARE 1 
    int indented code = 1; 
} 

void tpyge() 
{ 
#define DONTCARE 1 
    int indented code = 1 
} 
संबंधित मुद्दे