Unterschiedliche Textausrichtung in dzen2

2310
AnonymousLurker

Wenn ich zwei Zeichenketten "foo" und "bar" habe und sie in dzen2 angezeigt werden soll:

[foo bar] 

Ist dies möglich, ohne die Option -ta zu verwenden, sondern nur Befehle positionieren?

1

1 Antwort auf die Frage

2
user1034533

Ja, aber Sie müssen die Breite von 1 Zeichen in dieser Schriftart und die Länge des Textes kennen, den Sie ausrichten möchten. Um etwas nach links zu schweben, müssten Sie Folgendes verwenden:

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

Dabei ist n die Anzahl der Zeichen in "sometext" und k die Pixelbreite eines Zeichens.

Dzen enthält ein Programm textwidthzur Berechnung der Größe von Nicht-Monospace-Schriftarten. In diesem Fall würde [n * k] durch diesen Wert ersetzt.

Ich würde mit einer nativen Version des Codes empfehlen, wenn Sie für Effizienz kann ich eine Version für golang haben hier, aber wenn dies nicht möglich ist, können Sie nur den Lauf - textwidthBefehl.

Die SVN-Version 255 von dzen enthält anscheinend einen Befehl (Breite, Ausrichten), siehe Wiki.

Dies gilt also nur für Szenarien, in denen eine Monospace-Schriftart verwendet wird. AnonymousLurker vor 11 Jahren 0
Oder wenn Sie die Breite der Nicht-Monospace-Schrift berechnen können. Mike Cooper vor 11 Jahren 0
Ich hätte erwähnen sollen, dass dzen mit [einem Programm] (https://github.com/robm/dzen/blob/master/gadgets/README.textwidth) zur Berechnung der Breite von Nicht-Monospace-Schriftarten kommt es zur antwort. user1034533 vor 11 Jahren 0