Vim में लाइन के मध्य तक जाएं


14

मुझे पता है 0 लाइन की शुरुआत में जाता है और $ अंत तक जाता है, लेकिन क्या बीच के लिए कुछ है?

जवाबों:


11
:call cursor(0, len(getline('.'))/2)

4
यह काफी उपयोगी होगा यदि इसे मैप किया गया हो, जैसे:: nnoremap gm: कॉल कर्सर (0, len (getline ('।))) / 2) <cr>
Heptite

3
virtcol ('$') / 2 पर्याप्त है।
ल्यूक हरमिट

@ ल्यूक हर्मिट्टे: अच्छा, लेकिन कठिन व्यवहार में शामिल होने पर सबसे अच्छा व्यवहार नहीं।
3

इसलिए मैं कर्नल की बजाय सद्विचार का इस्तेमाल करता हूं। :)। लेकिन वास्तव में हमें उपयोग करना चाहिए | और कर्सर नहीं ()। BTW, len () कोई बेहतर परिणाम नहीं देगा। इसके अलावा, लेन मल्टी-बाइट्स पात्रों के साथ अन्य परेशानियां देगा।
ल्यूक हरमिट

8

टंकण gmयह करेगा, लेकिन यह स्क्रीन लाइनों द्वारा चलता है (देखें :help gm)। इसे टेक्स्ट लाइनों के साथ काम करने के लिए, कोई भी इस कमांड को हटा सकता है:

map gm :call cursor(0, virtcol('$')/2)<CR>

ग्राम को कर्सर को स्क्रीन के मध्य में ले जाना प्रतीत होता है, लेकिन अगर मेरे टेक्स्ट की लाइन स्क्रीन की लंबाई से कम है, तो यह मुझे मध्य में नहीं ले जाता है। स्पष्ट नहीं करने के लिए क्षमा करें।
20

@teggy: मैं देख रहा हूँ। मैंने टेक्स्ट लाइन के मध्य में जाने के लिए gm को रीमैप करने के लिए अपने समाधान को संशोधित किया। जैसा कि आप देख सकते हैं, यह ephemient और Luc Hermitte के समाधानों को जोड़ती है।
जूइंग

जैसा कि कहा जाता है, यह अभी भी कर्सर के रूप में हार्ड टैब्स के साथ एक मुद्दा है () उन्हें प्रत्येक एक चरित्र के रूप में गिना जाता है। इसके अलावा, यह मल्टी-बाइट्स वर्णों के साथ भी काम नहीं करेगा।
ल्यूक हरमिट

7

यहां एक समाधान है जो हार्डटैब और मल्टी-बाइट्स पात्रों का सम्मान करेगा।

:exe 'normal '.(virtcol('$')/2).'|'

1

यहां सबसे अच्छा समाधान है जो मैंने पाया है। लाइन के ठीक बीच में कूदना बहुत व्यावहारिक नहीं है। आपको संभवतः मध्य में जाने के बाद कर्सर को कुछ स्थानों पर स्थानांतरित करने की आवश्यकता होगी। क्या होगा यदि आप एक विशिष्ट चरित्र में कूद सकते हैं? बहुत से लोग सिर्फ चरित्र की खोज करते हैं, फिर "अगला" तक हिट करते हैं जब तक वे उस तक नहीं पहुंचते। यह धीमा है। ईज़ी-मोशन प्लगइन एक बेहतर समाधान प्रदान करता है।

मेरा पसंदीदा <leader><leader>sतो वह चरित्र है जिसे आप कूदना चाहते हैं। ईज़ी मोशन आपको चुनने के लिए सभी मैचों को अलग-अलग अक्षरों से बदल देता है। ट्यूटोरियल देखें। इसका जीवन बदलने वाला प्लगइन ...

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