Фиксация положения объектов в statusline энергии

Мой statusline выглядит примерно так:

set statusline+=%m
set statusline+=b%n:
" set statusline+=%f
set statusline+=%F
set statusline+=%R
set statusline+=%Y
set statusline+=\ 
set statusline+=[
set statusline+=row\ %l/%L
set statusline+=,\ 
" set statusline+=column\ %c\ (%v)

set statusline+=column\ %v\ (%c)
set statusline+=]

который, в средний день, когда нет никаких облаков, дает что-то вроде этого:

[-]b3:options.txt,RO,HELP [row 6291/7778, column 42 (29)]

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

Я видел в справке энергии (: помогите 'statusline), что можно установить фиксированную ширину некоторых объектов.

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

4
задан 31.03.2010, 23:21

1 ответ

% = позволяет Вам разделять лево-и выравнивание по правому краю.

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

править: Я должен сказать, что использую % = для фиксации объектов таким образом, потому что я испытал затруднения, заставив это работать любой другой путь. Можно установить минимальную ширину с помощью %-10.f (с 10 минимальная ширина для некоторого объекта f).

редактирование 2: ответить на комментарий Idigas ниже. Вот Ваша строка текущего статуса (переформатирована для пространства):

set statusline=%mb:%n\ %f%R%Y\ [row\ %l/%L,\ column\ %v\ (%c)]

Я изменил бы его на:

set statusline=b:%n\ %f%R%Y%=%m[row\ %l/%L,\ column\ %v\ (%c)]

Путем установки слева/справа разделение с % = и перемещения измененного %m в после него, положения строки состояния, кажется, фиксируются.

6
ответ дан 07.12.2019, 20:10

Теги

Похожие вопросы