Я создал свою пользовательскую строку состояния для vim и столкнулся с проблемой: когда я делаю: split, становится очень трудно увидеть разделение между буферами из-за способа, которым я его настроил.Теперь я хочу добавить символ, который будет действовать как разделительная граница между текстом слева и справа.Слева у меня есть имя файла и его путь (который изменяется по длине), справа у меня есть некоторая информация о номере буфера и тому подобное.Я не могу жестко закодировать символ, потому что иногда, когда путь к файлу слишком длинный, он обрезается.Я хочу иметь возможность вызывать функцию, которая будет возвращать переменное количество символов в зависимости от количества пробелов между двумя концами строки состояния.
Я думал о нескольких способах решенияэто, но я просто не знаю, как это сделать, и я не могу найти ответы в Интернете.Сначала у меня была идея просто подчеркнуть всю строку состояния, но я не знаю, как это сделать.
Теперь моя идея добавления переменного числа символов отличается, я хочу определить функциюкоторый использует регулярные выражения для чтения текста строки состояния и замены строки переменным количеством символов, которые бы идеально подходили для данного пробела.
Я не знаю, как это сделать, и я был бы признателен за любую помощь.Кроме того, я также хотел, чтобы определенный элемент строки состояния менял цвет в зависимости от того, в каком буфере находится мой курсор, чтобы легче было найти правильное окно, я также не смог найти способ сделать это и указатель вправильное направление будет оценено.
set laststatus=2
set statusline=
set statusline+=%2*\ %l
set statusline+=\ %*
set statusline+=%1*\ ‹‹
set statusline+=%1*\ %t\ %*
set statusline+=%1*\ ››
set statusline+=%1*\ %m
set statusline+=%3*\ %F
set statusline+=%{AddSeperator()}
set statusline+=%=
set statusline+=%3*\ ‹‹
set statusline+=%3*\ %{strftime('%R',getftime(expand('%')))}
set statusline+=%3*\ ::
set statusline+=%3*\ %n
set statusline+=%3*\ ››\ %*