Как я могу рассчитать ширину и статусную строку, как видно на экране? - PullRequest
4 голосов
/ 06 января 2011

Я пишу плагин, который пытается использовать дополнительные пробелы в строке состояния, отображая информацию произвольной длины. В зависимости от состояния текущего буфера, я хочу отобразить определенный фрагмент этой информации.

  • Я могу получить строку формата &statusline, однако эта длина может значительно отличаться от фактической длины на экране после выполнения всей обработки.

  • %< и друзья мне здесь не помогут, потому что мне, возможно, потребуется усечь оба конца строки, если информация, которую я хочу увидеть, находится посередине. Я могу определить, какой раздел строки я хочу через текущий статус активного буфера.

Можно ли как-нибудь получить обработанную строку состояния с помощью vimscript, чтобы я мог изменить ее и принимать разумные решения на основе ее длины?

1 Ответ

4 голосов
/ 12 января 2011

Вы должны задать свой вопрос в списке рассылки vim.

Если есть способ захватить расширенную строку статуса, более вероятно, что кто-то там узнает об этом.(Кстати, не забывайте, что элементы могут быть правильно выровнены.)

Возможно, вам придется поиграть с winwidth() и самостоятельно расширить официальную статусную линию, чтобы изменить свое изменение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...