Вопрос или проблема
Я хотел бы показать текущую колонку в строке состояния, как это принято во многих других текстовых редакторах. Например, хорошо знать, что вы находитесь вокруг 80 колонки или выше.
Как показать текущую колонку в строке состояния?
Попробуйте установить опцию ‘ruler’, это то, что вы ищете. На моем компьютере внизу справа отображается строка и колонка, где находится курсор.
:set ruler
ИЗМЕНЕНИЕ К КОММЕНТАРИЯМ:
Из справки vim (команда :help ruler
):
Если количество отображаемых символов отличается от количества
байтов в тексте (например, для табуляции или многобайтовного символа),
отображаются как текстовая колонка (номер байта), так и экранная колонка,
разделенные дефисом.
Вы можете попробовать изменить это с помощью опции rulerformat
, например :set rulerformat=%l,%v
Смотрите :help statusline
для множества доступных опций.
У меня это в ~/.vimrc
среди других директив:
set statusline+=col:\ %c,
что выводит
col: 64
в моей строке состояния.
У меня нет set ruler
.
Другой способ сделать это – нажать ‘g Ctrl-G’, который выводит текущее положение курсора пятью способами: Колонка, Строка, Слово, Символ и Байта. (из http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)
Я бы не рекомендовал использовать set ruler, потому что я считаю, что он несовместим с опциями строки состояния, например, если вы установите строку состояния для отображения полного пути файла в комбинации с set ruler
set statusline+=%F
set ruler
Тогда она НЕ будет отображать номер колонки, а просто полный путь файла в строке состояния. Однако, если вы добавите следующее в ваш .vimrc
set statusline+=%F\ %l\:%c
Это будет отображать все правильно, а именно
[Путь к файлу/имя файла] [номер строки]:[номер колонки]
Или, оставьте ‘ruler’ не установленным, что даст прирост производительности, и нажмите CTRL-G, когда хотите увидеть текущую колонку.
Для других людей, которые ищут этот ответ и не привыкли работать с VIm, на мой взгляд, самый простой ответ, который я нашел, – это добавить эту строку в конец вашего файла .vimrc в вашем домашнем каталоге:
set ruler
Для постоянного изменения вы можете просто сделать:
echo "set ruler" >> ~/.vimrc
Если вы хотите видеть номер строки, а затем колонку, вы можете использовать опцию statusline
следующим образом:
:set statusline=\ %l,%c
Это заставит строку над вводом команды и текста показывать набор координат, СТРОКА, КОЛОНКА, или 58,12
. Если вы включили цвета, он будет выделен светло-голубым прямо над тем местом, где вы ввели эту команду.
Надеюсь, это поможет кому-то в будущем.
Ответ или решение
Для отображения текущей колонки в строке состояния (statusline) в Vim можно использовать несколько подходов. Ниже приведены наиболее эффективные методы, которые помогут вам получить желаемый результат.
1. Включение опции ruler
Одним из простых способов является использование команды :set ruler
. Эта опция позволяет отображать информацию о текущей позиции курсора, включающую номер строки и номер колонки, в правом нижнем углу экрана.
Чтобы установить ruler
, вам нужно открыть Vim и ввести следующую команду:
:set ruler
После этого в правом нижнем углу вы увидите позицию курсора в формате [строка:колонка]
.
2. Использование statusline
Если вы хотите более гибкий и настраиваемый способ отображения текущей колонки, вы можете воспользоваться параметром statusline
. Например, добавив следующую строку в файл ~/.vimrc
, вы сможете отобразить текущую строку и колонку в строке состояния:
set statusline=%F\ %l:%c
Здесь %F
— это путь к файлу, %l
— номер строки, а %c
— номер колонки. Таким образом, отображение будет выглядеть как [путь/к/файлу] [номер строки]:[номер колонки]
.
3. Форматирование statusline
с помощью rulerformat
Для настройки формата визуализации можно использовать опцию rulerformat
. Например, следующая команда изменяет отображение:
:set rulerformat=%l,%v
Здесь %l
указывает номер строки, а %v
— текстовую позицию курсора (бику). Это полезно в случае, если у вас есть специфические ожидания по отображению колонок.
4. Альтернативный способ: Использование CTRL-G
Если вы не хотите изменять настройки Vim или файл конфигурации, вы также можете временно проверить текущее положение курсора, нажав CTRL-G
. Эта комбинация клавиш предоставит вам информацию о позиции курсора, включая номер строки, номер колонки, количество слов, символов и байтов.
5. Рекомендации
Хотя установка ruler
удобна, важно помнить, что это может повлиять на производительность, особенно если у вас включены более сложные настройки statusline
. Поэтому рекомендуется использовать опцию statusline
, чтобы избежать конфликта и получить более информативное отображение.
Заключение
Использование statusline
в сочетании с ruler
предоставляет большую гибкость и позволяет настраивать вид информации на экранных панелях. Независимо от того, какой метод вы выберете, отображение текущей колонки в Vim значительно упростит вашу работу с текстом. Настройте ваши параметры согласно требованиям для наиболее эффективного использования редактора.