有时我想在 vim、Chrome(就像刚才!)或 LibreOffice 等各种程序中编写特殊的 Unicode 字符,例如长破折号 (—)。
在 LibreOffice 中,我可以通过“插入”菜单下的专用对话框来实现此目的。其他程序似乎没有内置方法。在这些情况下,我的解决方案是在维基百科上查找该字符,将其复制并粘贴到其中。
是否有一种通用方法可以在 Linux 中接受文本输入的任何程序中编写 Unicode 字符,而无需从已打印的位置进行复制和粘贴?
答案1
您可以启用某个Compose键,也可以CtrlShiftU按 后跟字符的 Unicode 十六进制数字(可以跳过前导零)。例如, Æ 是CtrlShiftU,那么C6。这适用于 GNOME Terminal、Terminator、Google Chrome 和许多其他应用程序,但 Xterm(以及根据评论,Emacs)不起作用。
在 GNOME 上,要启用Compose,请转到键盘设置,然后快捷方式→打字→替代字符键并将其映射到某个东西(例如,Right Alt)。然后按该Compose键- 三次即可得到破折号:—。 (本段的箭头均为Compose->。)
答案2
最好的方法仍然是在键盘上输入字符。谢谢XKB,您可以将任意 Unicode 字符绑定到组合键。例如,使用用户XKB定制,我可以直接输入:← → ↑ ↓ … € ½ « » — − ± ≠ ∩ ∪ ⊂ ∧ ∨ ∀ ∃ √ ∞ ≤ ≥ 等。
Ctrlx注意:在 GNU Emacs 的特定情况下,可以通过+ 8+完成 Unicode 组合Return。有关其他方法,请参阅Ctrlx++ 8。Ctrlh
维基百科上的“Unicode 输入”根据上下文提供有关 ISO 14755 Unicode 输入的信息,特别是对于具有某些工具包的 X11 和特定应用程序(Emacs、Opera、Vim)。
或者,您可以将Compose密钥与用户定义的设置一起使用(因为默认设置还远未完成)。文档由以下机构提供Compose(5)
手册页。例如,编写一个$HOME/.XCompose
包含以下内容的文件:
include "%L"
<Multi_key> <bracketleft> <c> : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c> : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f> : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f> : "⌋" U230B # RIGHT FLOOR
该include "%L"
行首先加载默认(特定于区域设置)的 Compose 文件,接下来的四行添加用户定义的设置,例如:Compose+ [+c给出左天花板字符“⌈”(U+2308)。