Estou tentando escrever uma biblioteca de golfe para postscript. Mas ele precisa ser condensado em si. Então, eu preciso de uma maneira conveniente de digitar bytes arbitrários no texto principalmente ascii.
Eu sei que isso pode ser feito facilmente com absolutamente qualquer linguagem de programação, mas posso fazê-lo no vi? ( :help octal
não foi de ajuda).
Edit: Aqui está a biblioteca de golfe resultante para postscript . Felizmente, logo percebi que jogar golfe na biblioteca era uma ideia estúpida e não fiz isso.
Respostas:
Eu suponho que você use
vim
, porque é um comando do vim. Em alguns sistemas, há apenas um link simbólico para o qual é executado no modo compatível com vi.:help
octal
vi
vim
No vim:
Pressione ctrl+ ve, em seguida, insira o código unicode hexadecimal de quatro dígitos.
vim
ajuda de (help: dig
).Pressione ctrl+ ke, em seguida, sequência de dois caracteres.
Você pode listar as seqüências suportadas no comando vim usig
:digraph
.Nos nvi, vi e em outros lugares:
fonte
Ctrl+V
é para entrar decimais dígitos, se não for seguido porx
No modo de inserção, digite Ctrl+ Vseguido de
o
então um número octal (o0-o377, ou seja, 255 é o valor máximo)x
então um número hexadecimal (x00-xFF, ou seja, 255 é o valor máximo)u
então uma sequência Unicode de 4 hexcharsU
então uma sequência Unicode de 8 hexcharOs números decimais e octais são limitados a três dígitos. Números decimais menores que 100 podem incluir zeros à esquerda, que são ignorados. Números octais menores que 100 oct (ou seja, 64) podem incluir zeros à esquerda, mas não são necessários. Números octais maiores ou iguais a 100 oct podem não incluir zeros à esquerda (mas você pode digitar uma à esquerda, ose quiser).
Você pode encerrar um número digitando um caractere que não é um dígito válido para esse radical. Por exemplo,
A
.Ab
.!
.!9
.Números hexadecimais regulares (um octeto) são limitados a dois dígitos. Como acima, você pode repetir o caractere de raiz (por exemplo, Ctrl+ V u u 0 0 4 1 →
A
) para caracteres especificados por códigos hexadecimais.o
ex
não diferenciam maiúsculas de minúsculas.fonte
x1b
(para sequências de cores ascii)