포스트 스크립트 용 골프 라이브러리를 작성하려고합니다. 그러나 자체 압축해야합니다. 따라서 대부분 ASCII 텍스트 내에서 임의의 바이트를 입력하는 편리한 방법이 필요합니다.
나는 이것이 절대적으로 모든 프로그래밍 언어로 쉽게 수행 할 수 있다는 것을 알고 있지만 vi에서 할 수 있습니까? ( :help octal
도움이 없었습니다).
편집 : postscript에 대한 결과 골프 라이브러리는 다음과 같습니다 . 다행히도, 나는 그 자체로 골프를 치는 것이 어리석은 아이디어라는 것을 일찍 깨달았고 나는 그렇게하지 않았다.
답변
vim의 명령 vim
이기 때문에을 사용한다고 가정합니다 . 일부 시스템 에서는 vi 호환 모드로 실행 되는 심볼릭 링크 일뿐 입니다. :help
octal
vi
vim
vim에서 :
- : 당신은 당신이 사용할 수있는 기본 다국어 평면에서 유니 코드 문자를 입력 할 수 있습니다
를 눌러 ctrl+를 v누른 다음 4 자리 진수 유니 코드를 입력합니다. - 또 다른 옵션은 digraphs입니다.
vim
도움말 (help: dig
) 에서 자세한 내용을 읽을 수 있습니다 . + 를 누른 다음 두 문자 시퀀스를
누르십시오 .
vim usig 명령에서 지원되는 시퀀스를 나열 할 수 있습니다 .ctrlk:digraph
nvi, vi 및 다른 곳에서 :
- Ctrl+ Shift와 히트 U다음과 유니 코드 16 진 코드를 입력합니다.
답변
:help i_CTRL-V_digit
삽입 모드에서 Ctrl+를 입력 한 V다음
- 십진수 (0-255)
o
8 진수 (o0-o377, 즉 255가 최대 값임)x
16 진수 (x00-xFF, 즉 255는 최대 값)u
그런 다음 4 진수 문자 유니 코드 시퀀스U
8- 헥사 문자 유니 코드 시퀀스
10 진수와 8 진수는 3 자리로 제한됩니다. 100보다 작은 10 진수는 선행 0을 포함 할 수 있으며 무시됩니다. 100 oct 보다 작은 8 진수 (즉, 64)는 선행 0을 포함 할 수 있지만 필수는 아닙니다. 100 옥텟 보다 크거나 같은 8 진수 에는 앞에 0이 포함 되지 않을
수 있습니다 (그러나 o원하는 경우 앞에 숫자를 입력 할 수 있음 ).
해당 기수에 유효한 숫자가 아닌 문자를 입력하여 숫자를 종료 할 수 있습니다. 예를 들어
- Ctrl+ V
0 6 5 →A
. - Ctrl+ V
6 5 B →Ab
. - Ctrl+ V o
0 4 1 →!
. - Ctrl+ V o
4 1 9 →!9
.
정규 (1 옥텟) 16 진수는 두 자리로 제한됩니다. 위와 같이 16 진 코드로 지정된 문자에 대해 기수 문자 (예 : Ctrl+ V u u
0 0 4 1 → A
)를 반복 할 수 있습니다 .
o
와 x
소문자를 구분하지 않습니다.