سؤال كيفية إظهار العمود الحالي في شريط الحالة في vim؟


أرغب في عرض العمود الحالي في شريط الحالة ، كما هو شائع في العديد من برامج تحرير النصوص الأخرى. مثلا من الجيد معرفة ما إذا كنت حول العمود 80 أو أعلى.

كيف تظهر العمود الحالي في شريط الحالة؟


159
2017-12-06 20:35


الأصل


إذا كنت تريد إظهار العمود الحالي للمؤشر ، فاكتب: echo col ("."). - SibiCoder


الأجوبة:


جرب إذا كان خيار "الحاكم" هو ما تبحث عنه. على جهاز الكمبيوتر الخاص بي في أسفل اليمين يظهر السطر والعمود حيث لدي المؤشر.

:set ruler

تحرير لتعليقات:

من مساعدة vim (الأمر :help ruler):

إذا كان عدد الأحرف المعروضة يختلف عن عدد الأحرف   بايت في النص (على سبيل المثال ، بالنسبة إلى TAB أو حرف متعدد البايتات) ، كلاهما   يتم عرض عمود النص (رقم البايت) وعمود الشاشة ،   مفصولة مع اندفاعة.

يمكنك محاولة تغييرها rulerformat الخيار ، مثل :set rulerformat=%l,%v


191
2017-12-06 20:43



نعم نوعا ما. لكن هذا يظهر قيمة غريبة على سبيل المثال. 23,62-68 كان 23 يبدو أن الخط. كيف يجب أن أفسر 62-68 للعمود؟ - Jonas
62 يعد علامات التبويب كحرف واحد ، يتم حساب 68 علامات التبويب الموسعة - RedGrittyBrick
من الأمر ': help ruler': "إذا كان عدد الأحرف المعروضة مختلفًا عن عدد البايتات في النص (على سبيل المثال ، بالنسبة لـ TAB أو الحرف متعدد البايتات) ، فكل من عمود النص (رقم البايت) والشاشة العمود ، مفصولة بشرطة. " يمكنك محاولة تغييره باستخدام خيار "rulerformat" ، مثل ': set rulerformat =٪ l،٪ v' - Birei
ruler لا يعمل مع النوافذ المقسمة في Vim. - Mihai
Jonas ليس فقط علامات التبويب ، كما قال RedGrittyBrick ، ​​ولكن أيضا الأحرف مقابل بايت. هذا واضح جدًا في ملفات UTF-8 حيث يحتوي الحرف الرسومي أحادي الحرف على نقطة تعليمة برمجية متعددة البايت. على سبيل المثال ، اللاتينية eñe (n مع تيلدا فوقها ، وضوحا EN-yea) هي صورة حرف واحدة ولكنها تأخذ وحدتي بايت لتمثل نقطة التعليمة البرمجية (\ 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
استخدمت ما يلي لتوفير مساحة قبل هذا والأشياء السابقة في حالة الحالة: تعيين statusline + = \ col: \٪ c ، - David Baucum


أو اترك "المسطرة" بدون تعيين ، وكسب الأداء ، واضغط CTRL-G عندما تريد أن ترى العمود الحالي.


17
2017-11-09 20:35



الضغط على Ctrl-Anything لا يبدو كزيادة في الأداء. نحن نكتب الحروف. لا يوجد لدى الإنسان أصابع وعيون تطير بسرعة كافية لرؤية هذا النوع من فرق الأداء. - macetw


هناك طريقة أخرى للقيام بذلك وهي إجراء 'g Ctrl-G' ، والتي تطبع الوضع الحالي للمؤشر بخمس طرق: العمود والخط والكلمة والحرف والبايت. (من عند http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)


17
2018-03-05 10:51



يحتوي هذا الحل على شيء أنيق ، يميز العمود و VisibleColumn. يتم عرض الأحرف غير القابلة للطباعة على عمودين ، ولكن يجب اعتبارهما عمودًا واحدًا. إذا كانت الأحرف غير القابلة للطباعة ، يبدو الإخراج كالتالي: RealColumn-VisibleColumn, Line, Word, Character and Byte. - mxlian


سأستهلك من استخدام مجموعة المساطر لأنني أعتقد أنها غير متوافقة مع خيارات خط الحالة ، على سبيل المثال ، إذا قمت بتعيين خط الحالة لعرض كامل filepath بالاشتراك مع مجموعة المسطرة

set statusline+=%F

set ruler

ثم لا يعرض رقم العمود ولكن فقط filepath الكامل في شريط الحالة. ومع ذلك ، إذا وضعت ما يلي في ملف .vimrc الخاص بك

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

فإنه سيتم عرض كل شيء بشكل صحيح ، وهي

[Filepath / filename] [linenumber]: [رقم العمود]


9
2018-01-17 13:01





بالنسبة إلى الأشخاص الآخرين الذين يبحثون عن هذه الإجابة وغير معتادين على العمل مع VIm ، فإن أبسط إجابة وجدتها هي إضافة هذا السطر إلى نهاية ملف .vimrc في دليلك الرئيسي:

set ruler


2
2017-08-21 04:46