स्थिति कॉलम में वर्तमान कॉलम को कैसे दिखाएं?


186

मैं स्थिति स्तंभ में वर्तमान कॉलम दिखाना चाहूंगा, जैसा कि कई अन्य पाठ संपादकों में आम है। उदाहरण के लिए यह जानना अच्छा है कि क्या आप स्तंभ 80 या इसके आसपास हैं।

स्थिति स्तंभ में वर्तमान स्तंभ कैसे दिखाया जाए?


यदि आप कर्सर का वर्तमान कॉलम दिखाना चाहते हैं, तो टाइप करें: इको कॉल ('।')।
सिबिओडर

जवाबों:


215

यदि 'शासक' विकल्प सेट करने का प्रयास करें, तो आप वही खोज रहे हैं जो आप खोज रहे हैं। सबसे नीचे दाईं ओर मेरे कंप्यूटर पर लाइन और कॉलम दिखाई देता है जहां मेरे पास कर्सर है।

:set ruler

टिप्पणियाँ के लिए संपादित करें :

Vim (कमांड :help ruler) की मदद से :

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

आप इसे rulerformatविकल्प के साथ बदलने की कोशिश कर सकते हैं , जैसे:set rulerformat=%l,%v


हां कुछ कुछ। लेकिन यह एक अजीब मूल्य दिखा रहा है जैसे 23,62-68कि 23 लाइन प्रतीत हो रहे थे। मुझे 62-68कॉलम के लिए कैसे व्याख्या करनी चाहिए ?
जोनास

7
62 एक चरित्र के रूप में टैब की गिनती कर रहा है, 68 विस्तारित टैब की गिनती कर रहा है
RedGrittyBrick 20

1
कमांड ': हेल्प रूलर' से: "यदि प्रदर्शित वर्णों की संख्या पाठ में बाइट्स की संख्या से भिन्न होती है (जैसे, TAB या बहु-बाइट वर्ण के लिए), दोनों पाठ स्तंभ (बाइट संख्या) और स्क्रीन स्तंभ दिखाए जाते हैं, जिसे डैश के साथ अलग किया जाता है। " आप इसे 'rulerformat' विकल्प के साथ बदलने की कोशिश कर सकते हैं, जैसे ': set rulerformat =% l,% v'
Birei

rulerविम में विभाजित खिड़कियों के साथ काम नहीं करता है।
मिहाई

@ जोंस न केवल टैब, जैसा कि RedGrittyBrick ने कहा, लेकिन अक्षर बनाम बाइट्स भी। यह UTF-8 फ़ाइलों में बहुत स्पष्ट है, जहां एकल-वर्ण ग्लिफ़ में एक बहु-बाइट कोड बिंदु होता है। उदाहरण के लिए, लैटिन eñe (n इसके ऊपर टिल्ड के साथ, एन-या का उच्चारण) एक एकल वर्ण ग्लिफ़ है, लेकिन कोड बिंदु (\ xC3B1) का प्रतिनिधित्व करने के लिए दो बाइट्स लेता है, और एक तिहाई (1/3) एक एकल वर्ण ग्लिफ़ है एक तीन बाइट कोड बिंदु (\ xE28593) के साथ।
Luv2code

27

:help statuslineउपलब्ध कई विकल्पों के लिए देखें ।

मेरे पास ~/.vimrcअन्य निर्देशों के एक समूह के बीच में यह है :

set statusline+=col:\ %c,

जो आउटपुट देता है

col: 64

मेरी हैसियत में।

मेरे पास नहीं है set ruler


1
यह मेरे लिए काम नहीं करता है। मुझे शायद कुछ और सेटिंग्स की जरूरत है।
जोनास

3
जोनास, आपको हमेशा स्टेटस लाइन प्रदर्शित करने के लिए set laststatus=2अपने में उपयोग करना पड़ सकता है .vimrc। (0 -> कभी भी स्टेटस लाइन प्रदर्शित न करें, 1 -> केवल तभी जब कम से कम दो विंडो हों, 2 -> हमेशा स्टेटस लाइन प्रदर्शित करें)।
पाबुइसन

मैंने इससे पहले और स्टेटसलाइन पर पिछले सामान को स्थान प्रदान करने के लिए निम्नलिखित का उपयोग किया: statusline + = \ col: \% c,
David Baucum

18

ऐसा करने का एक और तरीका है 'g Ctrl-G', जो कर्सर की वर्तमान स्थिति को पाँच तरीकों से प्रिंट करता है: कॉलम, लाइन, वर्ड, कैरेक्टर और बाइट। ( http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G से )


इस समाधान में कुछ साफ-सुथरा है, जो कॉलम और विजिबलकोल्यूमेंट को अलग करता है। गैर मुद्रण योग्य वर्णों को 2 कॉलम प्रदर्शित किए जाते हैं, लेकिन उन्हें एक के रूप में गिना जाना चाहिए। यदि गैर मुद्रण योग्य वर्ण आउटपुट इस तरह दिखता है RealColumn-VisibleColumn, Line, Word, Character and Byte:।
mxlian

17

या, जब आप वर्तमान कॉलम देखना चाहते हैं , तो 'शासक' को परेशान, एक प्रदर्शन लाभ, और CTRL-G दबाएं ।


3
Ctrl मारना- कुछ भी एक प्रदर्शन लाभ की तरह नहीं लगता है। हम अक्षर टाइप कर रहे हैं। किसी भी इंसान के पास उंगलियां और आंखें नहीं होती हैं जो इस तरह के प्रदर्शन अंतर को देखने के लिए काफी तेजी से उड़ती हैं।
20

10

मैं सेट शासक का उपयोग करते हुए मूल्यह्रास करूंगा क्योंकि मेरा मानना ​​है कि यह स्टेटसलाइन विकल्पों के साथ संगत नहीं है, उदाहरण के लिए यदि आप सेट शासक के साथ संयोजन में पूर्ण फ़ाइलपथ प्रदर्शित करने के लिए स्थिति रेखा सेट करते हैं

set statusline+=%F

set ruler

तब यह कॉलम नंबर नहीं दिखाता है लेकिन स्टेटसबार में सिर्फ पूरा फाइलपथ होता है। हालाँकि अगर आप निम्नलिखित को अपने .vimrc में रखते हैं

set statusline+=%F\ %l\:%c

यह सब कुछ सही ढंग से प्रदर्शित करेगा, अर्थात्

[फ़ाइलपथ / फ़ाइल नाम] [लिननम्बर]: [कॉलम नंबर]


2

अन्य लोगों के लिए जो इस उत्तर की तलाश कर रहे हैं और VIm के साथ काम करने के लिए उपयोग नहीं किए जाते हैं, व्यक्तिगत रूप से मैंने जो सबसे सरल उत्तर पाया है वह यह है कि अपने होम डायरेक्टरी में अपने .vimrc फ़ाइल के अंत में इस पंक्ति को जोड़ें।

set ruler

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