Ich versuche eine Golfbibliothek für Postscript zu schreiben. Aber es muss sich verdichten. Ich brauche also eine bequeme Möglichkeit, beliebige Bytes in den meisten ASCII-Text einzugeben.
Ich weiß, dass dies mit absolut jeder Programmiersprache problemlos möglich ist, aber kann ich es in vi tun? ( :help octal
war keine Hilfe).
Bearbeiten: Hier ist die resultierende Golfbibliothek für Postscript . Zum Glück wurde mir früh klar, dass das Golfen in der Bibliothek selbst eine blöde Idee war, und das tat ich nicht.
Antworten:
Ich gehe davon aus, dass Sie verwenden
vim
, weil es ein vim-Befehl ist. Bei einigen Systemen handelt es sich lediglich um einen Symlink, über den es im vi-kompatiblen Modus ausgeführt wird.:help
octal
vi
vim
In vim:
Drücken Sie ctrl+ vund geben Sie dann den vierstelligen hexadezimalen Unicode-Code ein.
vim
der Hilfe (help: dig
) lesen .Drücken Sie ctrl+ kund dann die zweistellige Sequenz.
Sie können die in Ihrem Befehl vim usig unterstützten Sequenzen auflisten
:digraph
.In nvi, vi und anderswo:
quelle
Ctrl+V
ist für die Eingabe von Dezimalstellen , wenn nicht gefolgt vonx
Geben Sie im Einfügemodus Ctrl+ Vgefolgt von ein
o
dann eine Oktalzahl (o0-o377, dh 255 ist der Maximalwert)x
dann eine Hex-Zahl (x00-xFF, dh 255 ist der Maximalwert)u
dann eine 4-Hex-Zeichen-Unicode-SequenzU
dann eine 8-Hex-Zeichen-Unicode-SequenzDezimal- und Oktalzahlen sind auf drei Stellen begrenzt. Dezimalzahlen unter 100 können führende Nullen enthalten, die ignoriert werden. Oktalzahlen unter 100 Okt (dh 64) können führende Nullen enthalten, sind jedoch nicht erforderlich. Oktalzahlen größer oder gleich 100 Okt enthalten möglicherweise keine führenden Nullen (Sie können jedoch einen führenden eingeben, owenn Sie möchten).
Sie können eine Zahl beenden, indem Sie ein Zeichen eingeben, das keine gültige Ziffer für diese Basis ist. Beispielsweise,
A
.Ab
.!
.!9
.Normale Hexadezimalzahlen (ein Oktett) sind auf zwei Ziffern beschränkt. Wie oben können Sie das Radixzeichen (z. B. Ctrl+ V u u 0 0 4 1 →
A
) für Zeichen wiederholen, die durch Hex-Codes angegeben werden.o
undx
sind unabhängig von Groß- und Kleinschreibung.quelle
x1b
(für ASCII-Farbsequenzen)