Estoy tratando de escribir una biblioteca de golf para postscript. Pero necesita ser condensado. Por lo tanto, necesito una forma conveniente de escribir bytes arbitrarios en su mayoría texto ascii.
Sé que esto se puede hacer fácilmente con absolutamente cualquier lenguaje de programación, pero ¿puedo hacerlo en vi? (No :help octal
fue de ayuda).
Editar: Aquí está la biblioteca de golf resultante para PostScript . Afortunadamente, me di cuenta al principio de que jugar al golf en la biblioteca en sí era una idea estúpida y no lo hice.
Respuestas:
Supongo que lo usa
vim
, porque es un comando de vim. En algunos sistemas es solo un enlace simbólico para ejecutarlo en modo compatible con vi.:help
octal
vi
vim
En vim:
Presione ctrl+ vy luego ingrese el código Unicode hexadecimal de cuatro dígitos.
vim
la ayuda de (help: dig
).Presione ctrl+ ky luego secuencia de dos caracteres.
Puede enumerar secuencias compatibles con su comando vim usig
:digraph
.En nvi, vi y en otros lugares:
fuente
Ctrl+V
es para ingresar dígitos decimales , si no es seguido porx
En el modo de inserción, escriba Ctrl+ Vseguido de
o
entonces un número octal (o0-o377, es decir, 255 es el valor máximo)x
entonces un número hexadecimal (x00-xFF, es decir, 255 es el valor máximo)u
entonces una secuencia Unicode de 4 hexcharU
entonces una secuencia Unicode de 8 hexcharLos números decimales y octales están limitados a tres dígitos. Los números decimales inferiores a 100 pueden incluir ceros iniciales, que se ignoran. Los números octales menores de 100 oct (es decir, 64) pueden incluir ceros a la izquierda, pero no son obligatorios. Los números octales mayores o iguales a 100 oct pueden no incluir ceros iniciales (pero puede escribir un inicio osi lo desea).
Puede terminar un número escribiendo un carácter que no sea un dígito válido para esa raíz. Por ejemplo,
A
.Ab
.!
.!9
.Los números hexadecimales regulares (un octeto) están limitados a dos dígitos. Al igual que con lo anterior, puede repetir el carácter de la raíz (por ejemplo, Ctrl+ V u u 0 0 4 1 →
A
) para los caracteres especificados por códigos hexadecimales.o
y nox
distinguen entre mayúsculas y minúsculas.fuente
x1b
(para secuencias de color ascii)