Вопрос: Как показать текущий столбец в строке состояния в vim?


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

Как показать текущий столбец в строке состояния?


154
2017-12-06 20:35


Источник


Если вы хотите показать текущий столбец курсора, введите: echo col ('.'). - SibiCoder


Ответы:


Попробуйте, если параметр «линейка» - это то, что вы ищете. На моем компьютере внизу справа отображается строка и столбец, где у меня есть курсор.

:set ruler

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

С помощью vim (команда :help ruler):

Если количество отображаемых символов отличается от количества   байтов в тексте (например, для TAB или многобайтового символа), оба   отображаются текстовый столбец (номер байта) и столбец экрана,   разделенный тире.

Вы можете попробовать изменить его с помощью rulerformat вариант, например :set rulerformat=%l,%v


183
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
Я использовал следующее, чтобы предоставить пространство перед этим и предыдущим материалом в строке состояния: set statusline + = \ col: \% c, - David Baucum


Или, оставьте «линейку» отмененной, усиление производительности и нажмите CTRL-G когда вы хотите увидеть текущий столбец.


18
2017-11-09 20:35



Нажатие Ctrl-Anything не похоже на прирост производительности. Мы вводим символы. Ни один человек не имеет пальцев и глаз, которые летают достаточно быстро, чтобы увидеть эту разницу в производительности. - macetw


Другой способ сделать это - сделать «g Ctrl-G», который печатает текущую позицию курсора пятью способами: столбец, строка, слово, символ и байт. (из http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)


16
2018-03-05 10:51



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


Я бы обесценился с помощью линейки set, потому что я считаю, что он несовместим с параметрами Statusline, например. если вы установили статусную линию для отображения полного пути к файлу в сочетании с заданной линейкой

set statusline+=%F

set ruler

Затем он НЕ отображает номер столбца, а только полный путь к файлу в строке состояния. Однако, если вы поместите следующее в свой .vimrc

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

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

[Filepath / filename] [linenumber]: [номер столбца]


9
2018-01-17 13:01





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

set ruler


1
2017-08-21 04:46