Разное выравнивание текста в дзен2

Если у меня есть две строки "foo" и "bar", и я хочу, чтобы они отображались в dzen2 следующим образом:

[foo         bar]

Возможно ли это сделать, не используя опцию -ta, а только команды позиционирования?

1 ответ

Решение

Да, но для этого требуется знание ширины 1 символа в этом шрифте и длины текста, который вы хотите выровнять. Чтобы всплывать что-то осталось, вам нужно использовать:

^pa(_LEFT)^p(-[n*k])sometext

Где n - количество символов в "sometext", а k - ширина пикселя одного символа.

Дзен приходит с программой, textwidth для расчета размера немонокальных шрифтов в этом случае [n*k] будет заменено на это значение.

Я бы порекомендовал использовать нативную версию кода, если вы можете для эффективности, у меня есть версия для golang, но если это невозможно, вы можете просто запустить textwidth команда.

SVN ревизия 255 из dzen, очевидно, содержит команду ^ba(width, align), см. Вики.

Другие вопросы по тегам