J'essaie d'écrire une bibliothèque de golf pour postscript. Mais il doit être condensé lui-même. J'ai donc besoin d'un moyen pratique de taper des octets arbitraires dans un texte principalement ascii.
Je sais que cela peut facilement être fait avec absolument n'importe quel langage de programmation, mais puis-je le faire dans vi? ( :help octal
n'était d'aucune aide).
Edit: Voici la bibliothèque de golf résultante pour postscript . Heureusement, j'ai réalisé très tôt que jouer au golf à la bibliothèque elle-même était une idée stupide et je ne l'ai pas fait.
Réponses:
Je suppose que vous utilisez
vim
, car c'est une commande de vim. Sur certains systèmes, il n'y a qu'un lien symbolique vers lequel il s'exécute en mode compatible vi.:help
octal
vi
vim
En vim:
Appuyez sur ctrl+ vpuis entrez le code unicode hexadécimal à quatre chiffres.
vim
l'aide de (help: dig
).Appuyez sur ctrl+ k, puis sur une séquence de deux caractères.
Vous pouvez lister les séquences prises en charge dans votre commande vim usig
:digraph
.Aux nvi, vi et ailleurs:
la source
Ctrl+V
c'est pour entrer des chiffres décimaux , s'il n'est pas suivi parx
En mode insertion, tapez Ctrl+ Vsuivi de
o
puis un nombre octal (o0-o377, soit 255 est la valeur maximale)x
puis un nombre hexadécimal (x00-xFF, c'est-à-dire que 255 est la valeur maximale)u
puis une séquence Unicode 4 hexcharU
puis une séquence Unicode 8 hexcharLes nombres décimaux et octaux sont limités à trois chiffres. Les nombres décimaux inférieurs à 100 peuvent inclure des zéros non significatifs, qui sont ignorés. Les nombres octaux inférieurs à 100 oct (soit 64) peuvent inclure des zéros non significatifs, mais ils ne sont pas obligatoires. Les nombres octaux supérieurs ou égaux à 100 oct peuvent ne pas inclure de zéros non significatifs (mais vous pouvez taper un premier osi vous le souhaitez).
Vous pouvez terminer un nombre en tapant un caractère qui n'est pas un chiffre valide pour ce radix. Par exemple,
A
.Ab
.!
.!9
.Les nombres hexadécimaux réguliers (un octet) sont limités à deux chiffres. Comme pour ce qui précède, vous pouvez répéter le caractère radical (par exemple, Ctrl+ V u u 0 0 4 1 →
A
) pour les caractères spécifiés par des codes hexadécimaux.o
etx
sont insensibles à la casse.la source
x1b
(pour les séquences de couleurs ascii)