विम में एक कॉलम नंबर पर सीधे कैसे कूदें


234

कभी-कभी डिबगिंग उद्देश्यों के लिए मुझे मिनिमाइज्ड जावास्क्रिप्ट कोड के माध्यम से वैडिंग का रोमांचक काम करना पड़ता है। लाइनें 600 स्तंभों तक चौड़ी हैं। अपवाद रिपोर्टिंग लाइब्रेरी मुझे लाइन नंबर और कॉलम नंबर के रूप में सटीक क्रैश निर्देशांक प्रदान करने के लिए पर्याप्त है। हालाँकि मुझे कॉलम नंबर पर सीधे कूदने का कोई रास्ता नहीं मिल रहा है, भले ही मैं लाइन में इतनी आसानी से कूद सकूं।

मैं यह कैसे कर सकता हूं?


यह एक ऐसा उपकरण लगता है, जिसका आविष्कार किया जाना आवश्यक है। "मेरे js की पहचान करें, और जब आप इस कॉलम संख्या द्वारा पहचाने गए स्थान पर जाएं।"
dnellis74

2
@ dnellis74 वह उपकरण मौजूद है। ); यह "sourcemaps" कहा जाता है
Bürgi

//, @ बरगी, क्या 3 शब्द सारांश और लिंक खतरनाक हो सकते हैं?
नाथन बासानी

जवाबों:


333

|आदेश आप क्या चाहते हैं करता है, के रूप में में 30|स्तंभ 30 के लिए ले जाएगा।

                                                        bar
|                       To screen column [count] in the current line.
                        exclusive motion.  Ceci n'est pas une pipe.

http://vimdoc.sourceforge.net/htmldoc/motion.html#bar


41
सामान्य उपयोग के लिए जागरूक रहें, कि यह स्क्रीन कॉलम है, वास्तविक कॉलम नहीं । इसका मतलब है कि <Tab>पात्रों को अलग-अलग परिणाम मिलेंगे। इन पात्रों होगा, तो आप के बजाय चाहते हैं |30lhया |29lया 029lया ऐसा ही कुछ।
क्रिस मॉर्गन

25
आप विभिन्न गति आदेशों से पहले एक संख्या भी पास कर सकते हैं, जैसे 50hकि 50 अक्षर बचे हैं।
एबी

7
:set nowrapस्क्रीन लाइनों और फ़ाइल लाइनों के बीच भ्रम को कम करने में भी मदद मिल सकती है।
डेविड पोप

4
@DavidPope: ध्यान दें कि इस मामले में "स्क्रीन कॉलम" का अर्थ है कि यह अभी भी लाइन की शुरुआत के सापेक्ष है। g0"वर्तमान स्क्रीन लाइन की शुरुआत" प्राप्त करता है।
क्रिस मॉर्गन

10
विम प्रलेखन प्रफुल्लित करने वाला है: "
सेसी एनस्ट

45

आप cursorफ़ंक्शन का उपयोग कर सकते हैं । उदाहरण के लिए, पंक्ति 15 के कॉलम 25 पर जाने के लिए, आप उपयोग कर सकते हैं :call cursor(15,25)


2
यह प्रश्न का उत्तर देता है और यह स्क्रिप्टिंग के लिए पूर्व कमांड विकल्प होने के लिए सुविधाजनक है। ध्यान दें कि यदि लाइन संख्या शून्य है, तो कर्सर वर्तमान लाइन में रहेगा।
जाइल्स गार्डम

यह अन्य उपकरणों से विम खोलने के लिए विशेष रूप से अच्छा है, क्योंकि यह कॉल कमांड-लाइन पर किया जा सकता है:"+call cursor($LINE,$COLUMN)"
लारेंस गोंसाल्वेस

5

एक वैकल्पिक उत्तर जो मैक ओएस पर मेरे लिए काम करता है, वह कमांड का उपयोग करना है जो कर्सर को दाईं ओर ले जाता है (यानी l)। इसलिए यदि आपका कर्सर पहले कॉलम पर है, और आप कर्सर को अपनी वर्तमान लाइन के कॉलम 50 पर रखना चाहते हैं, तो कमांड का उपयोग करें:

49l
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.