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

Вопрос или проблема

Я хотел бы показать текущую колонку в строке состояния, как это принято во многих других текстовых редакторах. Например, хорошо знать, что вы находитесь вокруг 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 значительно упростит вашу работу с текстом. Настройте ваши параметры согласно требованиям для наиболее эффективного использования редактора.

Оцените материал
Добавить комментарий

Капча загружается...