使用8位十六进制代码输入Unicode字符

37

如何输入Unicode字符,例如,而无需将其复制到剪贴板并粘贴?

我知道的:

  • 在字符上执行命令ga会给我hex:0001d4ed
  • 我可以将其复制到剪贴板上,并通过"+p粘贴它。
  • 我知道如何输入具有4位十六进制代码的Unicode值:
    例如,<C-v>u03b1会给出字符α

1
没有Unicode代码点需要8个十六进制数字。6是最大值,因为0x10ffff是最大的代码点。 - Mike Samuel
3
谢谢认可 "ga" 命令! - Sabuncu
3个回答

50
你可以使用<C-v>U,也就是大写字母U,输入一个8位十六进制码点字符。
更多信息在这里在这里

1
你太快了 - 我还不能接受它。;-) 谢谢 - 当我第一次阅读时,我完全忽略了你给我的第一个链接中的 <C-v>U - epsilonhalbe

12

Vim有一个旨在简化输入无法直接键入的字符的功能,它被称为双字符(Digraphs)(参见:help digraphs)。

要为输入“”定义自定义双字符,请使用类似下面的 Ex 命令。

:dig dd 120045

其中 120045 是‘’的十进制表示,可以使用 ga 命令轻松确认。

使用双字符输入法插入字符很简单: 键入 Ctrl+K,然后键入该双字符的快捷键(例如上面例子中的 dd)。


定义全局有向图 - 对我来说听起来有点过度设计,我只需要插入一两次字符,然后在 tex 插件中使用 imap <buffer> \curld 就可以与 latex 一起使用 - 在其他地方我不需要它,而且我可以通过键盘组合键输入 digraphs(我使用 neo 键盘布局)。 - epsilonhalbe
@epsilonhalbe:是的,那也是一个不错的方法。 - ib.

6

有一个针对Vim的Unicode插件unicode.vim。根据插件描述,该插件有三个主要功能:

  1. 使用Unicode名称或代码点进行字符/二合字完成。
  2. 识别光标下的字符/二合字。
  3. 通过名称搜索二合字;将两个普通字符变换为它们对应的二合字。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接