Vim statusline: показать самого персонажа
Есть ли способ показать символ под курсором в строке состояния?
Я уже пользуюсь %b\ (0x%B)
для отображения десятичного и шестнадцатеричного значения символа. Я хотел бы показать сам символ перед этими двумя.
1 ответ
Решение
Там нет предопределенного элемента (как указано в :help 'statusline'
, но вы можете реализовать это с помощью специального выражения (элемент %{...}
):
let &statusline .= "%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}"
(Я использую :let
вместо :set
чтобы избежать необходимости покинуть все пространства; так читается лучше.)
getline('.')
получает текущую строку, а символ под курсором извлекается через специальный \%c
атом, совпадающий с определенным столбцом; col('.')
текущий столбец. .
затем соответствует персонажу там, и matchstr()
извлекает это.