Как показать текущий столбец в строке состояния в vim?
188
Я хотел бы показать текущий столбец в строке состояния, как это принято во многих других текстовых редакторах. Например, это хорошо знать, если вы находитесь около столбца 80 или выше.
Если вы хотите показать текущий столбец курсора, введите: echo col ('.').
SibiCoder
Ответы:
219
Попробуйте, если вам нужна настройка «правитель». На моем компьютере в правом нижнем углу отображаются строка и столбец, где у меня есть курсор.
:set ruler
РЕДАКТИРОВАТЬ В КОММЕНТАРИИ :
С помощью vim (команды :help ruler):
Если отображаемое количество символов отличается от количества байтов в тексте (например, для табуляции или многобайтового символа), отображаются как текстовый столбец (номер байта), так и экранный столбец, разделенные чертой.
Вы можете попробовать изменить его с помощью rulerformatопции, например,:set rulerformat=%l,%v
Да вроде. Но это показывает странное значение, например, где 23,62-6823, кажется, линия. Как мне интерпретировать 62-68колонку?
Джонас
7
62 считает вкладки как один символ, 68 считает расширенные вкладки
RedGrittyBrick
1
Из команды «: help ruler»: «Если отображаемое количество символов отличается от количества байтов в тексте (например, для табуляции или многобайтового символа), то и текстовый столбец (номер байта), и экран столбец показаны, разделены чертой. " Вы можете попробовать изменить его с помощью опции 'rulerformat', например ': set rulerformat =% l,% v'
Birei
rulerне работает с разделенными окнами в Vim.
Михай
@Jonas Не только вкладки, как сказал RedGrittyBrick, но также символы и байты. Это очень очевидно в файлах UTF-8, где односимвольный глиф имеет многобайтовую кодовую точку. Например, латинский eñe (n с тильдой над ним, произносится EN-yea) представляет собой односимвольный глиф, но для представления точки кода (\ xC3B1) требуется два байта, а одна треть (1/3) представляет собой односимвольный глиф с трехбайтовой кодовой точкой (\ xE28593).
Luv2code
27
Смотрите :help statuslineдля многих доступных вариантов.
У меня есть это ~/.vimrcмежду моими другими директивами:
Это не работает для меня. Мне, вероятно, нужно больше настроек.
Джонас
3
Jonas, вам, возможно, придется использовать set laststatus=2в вашем, .vimrcчтобы всегда отображать строку состояния. (0 -> никогда не отображать строку состояния, 1 -> только при наличии хотя бы двух окон, 2 -> всегда отображать строку состояния).
pabuisson
Я использовал следующее, чтобы освободить место перед этим и предыдущим материалом в строке состояния: установите строку состояния + = \ col: \% c,
В этом решении есть что-то аккуратное, что отличает Column и VisibleColumn. Непечатные символы отображаются в 2 столбцах, но должны учитываться как один. Если значение не печатаемые символы , результат выглядит следующим образом : RealColumn-VisibleColumn, Line, Word, Character and Byte.
mxlian
17
Или оставьте «линейку» неустановленной, выигрыш в производительности и нажмите CTRL-G, когда вы хотите увидеть текущий столбец.
Нажатие Ctrl-Anything не похоже на увеличение производительности. Мы печатаем символы. Ни у одного человека нет пальцев и глаз, которые летят достаточно быстро, чтобы увидеть разницу в производительности.
macetw
10
Я бы не рекомендовал использовать set ruler, потому что считаю, что он несовместим с параметрами строки состояния, например, если вы устанавливаете строку состояния для отображения полного пути к файлу в сочетании с set ruler
set statusline+=%F
set ruler
Тогда он НЕ отображает номер столбца, а только полный путь к файлу в строке состояния. Однако, если вы положите следующее в ваш .vimrc
set statusline+=%F\ %l\:%c
Он будет отображать все правильно, а именно
[Путь к файлу / имя файла] [белье]: [номер столбца]
Для остальных людей, которые ищут этот ответ и не привыкли работать с VIm, лично я нашел самый простой ответ - добавить эту строку в конец вашего файла .vimrc в вашем домашнем каталоге:
Ответы:
Попробуйте, если вам нужна настройка «правитель». На моем компьютере в правом нижнем углу отображаются строка и столбец, где у меня есть курсор.
РЕДАКТИРОВАТЬ В КОММЕНТАРИИ :
С помощью vim (команды
:help ruler
):Вы можете попробовать изменить его с помощью
rulerformat
опции, например,:set rulerformat=%l,%v
источник
23,62-68
23, кажется, линия. Как мне интерпретировать62-68
колонку?ruler
не работает с разделенными окнами в Vim.Смотрите
:help statusline
для многих доступных вариантов.У меня есть это
~/.vimrc
между моими другими директивами:какие выводы
в моем статуслине.
Я не имею
set ruler
.источник
set laststatus=2
в вашем,.vimrc
чтобы всегда отображать строку состояния. (0 -> никогда не отображать строку состояния, 1 -> только при наличии хотя бы двух окон, 2 -> всегда отображать строку состояния).Еще один способ сделать это - «Ctrl-G», который печатает текущую позицию курсора пятью способами: столбец, строка, слово, символ и байт. (из http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G )
источник
RealColumn-VisibleColumn, Line, Word, Character and Byte
.Или оставьте «линейку» неустановленной, выигрыш в производительности и нажмите CTRL-G, когда вы хотите увидеть текущий столбец.
источник
Я бы не рекомендовал использовать set ruler, потому что считаю, что он несовместим с параметрами строки состояния, например, если вы устанавливаете строку состояния для отображения полного пути к файлу в сочетании с set ruler
set statusline+=%F
set ruler
Тогда он НЕ отображает номер столбца, а только полный путь к файлу в строке состояния. Однако, если вы положите следующее в ваш .vimrc
set statusline+=%F\ %l\:%c
Он будет отображать все правильно, а именно
[Путь к файлу / имя файла] [белье]: [номер столбца]
источник
Для остальных людей, которые ищут этот ответ и не привыкли работать с VIm, лично я нашел самый простой ответ - добавить эту строку в конец вашего файла .vimrc в вашем домашнем каталоге:
set ruler
источник