सवाल Vim में स्टेटसबार में वर्तमान कॉलम कैसे दिखाएं?


मैं स्टेटसबार में वर्तमान कॉलम दिखाना चाहता हूं, जैसा कि कई अन्य टेक्स्ट एडिटर्स में आम है। जैसे यह जानना अच्छा है कि क्या आप कॉलम 80 या उससे ऊपर के आसपास हैं या नहीं।

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


159
2017-12-06 20:35


मूल


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


जवाब:


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

:set ruler

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

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

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

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


191
2017-12-06 20:43



हां कुछ कुछ। लेकिन यह एक अजीब मूल्य दिखा रहा है उदा। 23,62-68 23 लाइन थे। मुझे कैसे व्याख्या करनी चाहिए 62-68 कॉलम के लिए? - Jonas
62 टैब को एक चरित्र के रूप में गिन रहा है, 68 विस्तारित टैब की गणना कर रहा है - RedGrittyBrick
कमांड ': मदद शासक' से: "यदि प्रदर्शित वर्णों की संख्या पाठ में बाइट्स की संख्या से अलग है (उदाहरण के लिए, एक टैब या बहु-बाइट वर्ण के लिए), टेक्स्ट कॉलम (बाइट संख्या) और स्क्रीन दोनों स्तंभ दिखाया गया है, एक डैश से अलग। " आप इसे 'शासकफॉर्मैट' विकल्प के साथ बदलने का प्रयास कर सकते हैं, जैसे ': set governformat =% l,% v' - Birei
ruler विम में विभाजित खिड़कियों के साथ काम नहीं करता है। - Mihai
@ जोनास न केवल टैब, क्योंकि RedGrittyBrick ने कहा, लेकिन बाइट बनाम पात्र भी। यह यूटीएफ -8 फाइलों में बहुत स्पष्ट है जहां सिंगल-कैरेक्टर ग्लाइफ में बहु-बाइट कोड पॉइंट होता है। उदाहरण के लिए, लैटिन ईएन (एन टिल्ड के साथ एन, एनएन-हाँ कहा जाता है) एक सिंगल कैरेक्टर ग्लाइफ है लेकिन कोड पॉइंट (\ xC3B1) का प्रतिनिधित्व करने के लिए दो बाइट्स लेता है, और एक तिहाई (1/3) एक सिंगल कैरेक्टर ग्लाइफ है एक तीन बाइट कोड बिंदु (\ xE28593) के साथ। - Luv2code


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

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

set statusline+=col:\ %c,

जो उत्पादन करता है

col: 64

मेरी स्थिति में।

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


26
2017-12-06 21:28



यह मेरे लिए काम नहीं करता है। मुझे शायद कुछ और सेटिंग्स चाहिए। - Jonas
जोनास, आपको इसका उपयोग करना पड़ सकता है set laststatus=2 आपके में .vimrc हमेशा स्थिति रेखा प्रदर्शित करने के लिए। (0 -> कभी भी स्थिति रेखा प्रदर्शित नहीं करें, 1 -> केवल अगर कम से कम दो खिड़कियां हैं, 2 -> हमेशा स्थिति रेखा प्रदर्शित करें)। - pabuisson
मैंने स्टेटसलाइन पर इस और पिछले सामान से पहले स्थान प्रदान करने के लिए निम्नलिखित का उपयोग किया: सेट स्टेटसलाइन + = \ col: \% c, - David Baucum


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


17
2017-11-09 20:35



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


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


17
2018-03-05 10:51



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


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

set statusline+=%F

set ruler

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

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

यह सब ठीक से प्रदर्शित करेगा, अर्थात्

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


9
2018-01-17 13:01





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

set ruler


2
2017-08-21 04:46