我正在尝试为后记编写一个高尔夫库。但它本身需要浓缩。所以我需要一种方便的方法来在大多数 ASCII 文本中输入任意字节。
我知道使用任何编程语言都可以轻松完成此操作,但是我可以在 vi 中完成吗? (:help octal
没有帮助)。
编辑:这是结果高尔夫图书馆后记。幸运的是,我很早就意识到在图书馆打高尔夫球本身就是一个愚蠢的想法,所以我没有这样做。
答案1
:help i_CTRL-V_digit
在插入模式下,键入Ctrl+ V,然后键入
- 十进制数 (0-255)
o
然后是一个八进制数(o0-o377,即255是最大值)x
然后是一个十六进制数(x00-xFF,即255是最大值)u
然后是 4 个十六进制字符的 Unicode 序列U
然后是一个 8-hexchar Unicode 序列
十进制和八进制数仅限于三位数字。小于 100 的十进制数可能包含前导零,这些零将被忽略。小于 100 oct(即 64)的八进制数可能包含前导零,但这不是必需的。大于或等于 100 oct 的八进制数 可能不是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
。
常规(一个八位位组)十六进制数字仅限于两位数字。与上面一样,您可以 为十六进制代码指定的字符 重复基数字符(例如, Ctrl+ V u u
0 0 4 1 → )。 并且 不区分大小写。A
o
x
答案2
我假设你使用vim
,因为 :help
octal
是vim的命令。在某些系统上vi
只是一个符号链接,vim
可以在 vi 兼容模式下运行它。
在维姆中:
- 您可以从可以使用的基本多语言平面输入 unicode 字符:
按ctrl+ v,然后输入四位十六进制 unicode 代码。 - 另一种选择是二合字母。您可以在
vim
的帮助 ( )中阅读有关它们的更多信息help: dig
。
按ctrl+ k,然后按两个字符序列。
您可以列出 vim usig 命令支持的序列:digraph
。
在 nvi、vi 和其他地方:
- Ctrl+Shift并点击U,然后输入 unicode 十六进制代码。