Как обрезать поле «statusline» Vim справа?

Я пытаюсь установить параметр «строка состояния» окна быстрого исправления следующим образом:

setlocal statusline=%t%.66{'\ '.w:quickfix_title}%=\ %11.(%c,%l/%L\ %P%)

Но когда поле %.66{'\ '.w:quickfix_title} длиннее 66 символов, его левая часть по умолчанию обрезается. Я хочу, чтобы он был усечен правильно, чтобы я мог видеть начало этого поля.

(Я заметил, что Vim предоставляет %< для усечения слева. Но нет %> в качестве аналога.)


person Bohr    schedule 03.01.2014    source источник


Ответы (1)


Я придумал решение во время написания этого вопроса:

Просто замените %.66{'\ '.w:quickfix_title} на %{strpart('\ '.w:quickfix_title,0,66)}

См. h strpart(

person Bohr    schedule 03.01.2014
comment
Всегда приятно видеть, что просто формулируя проблему, решение часто приходит на ум. - person Ingo Karkat; 03.01.2014