Як показати поточний стовпець у панелі стану in vim?


187

Я хотів би показати поточний стовпець у панелі стану, як це часто зустрічається у багатьох інших текстових редакторах. Наприклад, добре знати, чи знаходитесь ви навколо стовпця 80 або вище.

Як показати поточний стовпець у панелі стану?


Якщо ви хочете показати поточний стовпець курсору, введіть: echo col ('.').
SibiCoder

Відповіді:


218

Спробуйте, якщо параметр "лінійка" - це те, що ви шукаєте. На моєму комп’ютері внизу праворуч показано рядок і стовпець, де у мене курсор.

:set ruler

ВИДАЛИТИ В КОМЕНТАРІ :

За допомогою vim (команда :help ruler):

Якщо кількість відображених символів відрізняється від кількості байтів у тексті (наприклад, для TAB або багатобайтового символу), відображаються як текстовий стовпець (номер байта), так і екранний стовпчик, розділені тире.

Ви можете спробувати змінити його на rulerformatваріант, наприклад:set rulerformat=%l,%v


Так, начебто. Але це показує дивну цінність, наприклад 23,62-68, 23 здалося, що це лінія. Як слід інтерпретувати 62-68колонку?
Йонас

7
62 вважає вкладки як один символ, 68 вважає розширені вкладки
RedGrittyBrick

1
З команди ': help vladler': "Якщо кількість відображених символів відрізняється від кількості байтів у тексті (наприклад, для TAB або багатобайтового символу), як текстовий стовпець (номер байта), так і екран відображається стовпчик, розділений тире ". Ви можете спробувати змінити його за допомогою параметра "rulerformat", наприклад ": встановити rulerformat =% l,% v"
Birei

rulerне працює з розділеними вікнами у Vim.
Міхай

@Jonas Не тільки вкладки, як сказав RedGrittyBrick, але й символи проти байтів. Це дуже очевидно в файлах UTF-8, де односимвольний гліф має багатобайтову кодову точку. Наприклад, латинська eñe (n з тильдою над нею, вимовляється EN-yea) - це односимвольний гліф, але для отримання кодової точки (\ 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,
Девід Баукум,

18

Інший спосіб зробити це - зробити "g Ctrl-G", який друкує поточне положення курсору п'ятьма способами: стовпець, рядок, слово, символ та байт. (від http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G )


У цьому рішенні є щось акуратне, що відрізняє Column і VisibleColumn. Символи, що не друкуються, відображаються у 2 стовпцях, але їх слід рахувати як один. Якщо значення не друкувати символи , результат виглядає наступним чином : RealColumn-VisibleColumn, Line, Word, Character and Byte.
mxlian

17

Або залиште "лінійку" не встановленою, посилення продуктивності та натисніть CTRL-G, коли ви хочете побачити поточний стовпець.


3
Натискання Ctrl-що-небудь не схоже на підвищення продуктивності. Ми набираємо символи. Жодна людина не має пальців і очей, які літають досить швидко, щоб побачити подібну різницю у виконанні.
macetw

10

Я би знецінився за допомогою встановленої лінійки, тому що я вважаю, що вона не сумісна з параметрами статусу, наприклад, якщо ви встановите статус, щоб відображати повний шлях файлу в поєднанні з встановленою лінійкою

set statusline+=%F

set ruler

Тоді він НЕ відображає номер стовпця, а лише повний шлях файлу на панелі стану. Однак якщо в .vimrc помістити наступне

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

Він буде відображати все правильно, а саме

[Filepath / name file] [linenumber]: [номер стовпця]


2

Для інших людей, які шукають цю відповідь і не звикли працювати з VIm, особисто найпростіша відповідь, яку я знайшов, - це додати цей рядок до кінця вашого .vimrc-файлу у вашому домашньому каталозі:

set ruler

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.