Próbuję napisać bibliotekę golfa dla postscriptum. Ale sam musi się skondensować. Potrzebuję więc wygodnego sposobu na wpisanie dowolnych bajtów w większości tekstu ascii.
Wiem, że można to łatwo zrobić za pomocą dowolnego języka programowania, ale czy mogę to zrobić w vi? ( :help octal
nie było pomocy).
Edycja: Oto powstała biblioteka golfa dla postscriptum . Na szczęście wcześnie zdałem sobie sprawę, że sama gra w golfa była głupim pomysłem i tego nie zrobiłem.
Odpowiedzi:
Zakładam, że używasz
vim
, ponieważ jest to polecenie vima. W niektórych systemach jest tylko dowiązaniem symbolicznym, z którym działa w trybie kompatybilnym z vi.:help
octal
vi
vim
In vim:
Naciśnij ctrl+, va następnie wprowadź czterocyfrowy szesnastkowy kod Unicode.
vim
pomocy (help: dig
).Naciśnij ctrl+, ka następnie sekwencję dwóch znaków.
Możesz wyświetlić listę sekwencji obsługiwanych w poleceniu vim usig
:digraph
.W nvi, vi i gdzie indziej:
źródło
Ctrl+V
jest to wprowadzanie cyfr dziesiętnych , jeśli nie następujex
W trybie wstawiania wpisz Ctrl+, Va następnie
o
następnie liczba ósemkowa (o0-o377, tj. 255 jest wartością maksymalną)x
następnie liczba szesnastkowa (x00-xFF, tj. 255 jest wartością maksymalną)u
następnie 4-heksarowa sekwencja UnicodeU
następnie 8-heksarowa sekwencja UnicodeLiczby dziesiętne i ósemkowe są ograniczone do trzech cyfr. Liczby dziesiętne mniejsze niż 100 mogą zawierać zera wiodące, które są ignorowane. Liczby ósemkowe mniejsze niż 100 oct (tj. 64) mogą zawierać początkowe zera, ale nie są wymagane. Liczby ósemkowe większe lub równe 100 oct mogą nie zawierać zer wiodących (ale możesz wpisać wiodące, ojeśli chcesz).
Możesz zakończyć liczbę, wpisując znak, który nie jest poprawną cyfrą dla tej podstawy. Na przykład,
A
.Ab
.!
.!9
.Zwykłe (jednooktetowe) liczby szesnastkowe są ograniczone do dwóch cyfr. Tak jak w przypadku powyższego, możesz powtórzyć znak podstawnika (np. Ctrl+ V u u 0 0 4 1 →
A
) dla znaków określonych przez kody szesnastkowe.o
ix
nie rozróżniają wielkości liter.źródło
x1b
(dla sekwencji kolorów ascii)