有写Unicode字符的通用方法吗?


18

有时我想在各种程序(例如vim,Chrome(就像现在!)或LibreOffice)中编写特殊的Unicode字符,例如破折号(-)。

在LibreOffice中,我可以通过“插入”菜单下的专用对话框来实现此目的。其他程序似乎没有内置的方式。在这种情况下,我的解决方案是在Wikipedia上查找字符,将其复制并粘贴。

是否有一种通用方法可以在任何接受Linux中文本输入的程序中编写Unicode字符,而不必从已经打印的位置进行复制和粘贴?


您可以在Wikipedia上搜索“ Unicode输入”。现在在我的回答中提到。
vinc17

在LibreOffice(和MS Office)中,还有一个自动替换列表,例如(C)-> ©。人们经常将其配置--为破折号和---破折号。
西蒙·里希特

Is there a universal way...不。(我不知道通过编程来做任何事情的“通用”方式。)
user2338816

Answers:


14

您可以启用一个Compose键,也可以按键,CtrlShiftU然后按字符的Unicode十六进制数字(可以跳过前导零)。例如,Æ是CtrlShiftU,则C6。这可以在GNOME终端,终结者,谷歌浏览器和许多其他应用程序上使用,而Xterm(根据评论,是Emacs)不起作用。

在GNOME上,要启用Compose,请进入键盘设置,然后进入快捷方式键入替代字符键,然后将其映射到某物(例如Right Alt)。然后Compose按键,- 三次,得到一个破折号:—。(本段中的所有箭头都是Compose->。)

在此处输入图片说明


2
Ctrl + Shift + u解决方案在Xterm和Emacs中不起作用。它也不能在Firefox中使用。
vinc17

2
@ vinc17对我来说确实可以在Firefox中使用。我没有Xterm或Emacs可以测试。
muru 2015年

嗯,是的,它可以在Firefox中使用,但是我必须在十六进制序列后键入Space键。无论如何,这不是通用的,但可能是某些应用程序(或某些窗口管理器)添加的功能。另外,它在Opera中也不起作用。
vinc17

AltGr只是一个修饰符,用于获取其他键组合。这就是我用来输入答案中列出的字符的方法(例如Shift + AltGr + [给出←)。但是用户也可以将字符映射到其他键,例如功能键;这就是我要获得法语重音符号éèêëâîôûûùùç的目的。一切都通过XKB设置完成。
vinc17

@ vinc17我使史诗般的失败。我在谈论Compose,而是说AltGr。
muru 2015年

7

最好的方法仍然是在键盘上键入字符。多亏了XKB,您可以将任意Unicode字符绑定到组合键。例如,使用用户XKB定制,我可以直接输入:←→↑↓…€½«»— −±≠∩√√∞≤≥,依此类推。

注意:在GNU Emacs的特殊情况下,可以通过Ctrlx+ 8+ 完成Unicode组合Return。有关其他方法,请参见Ctrlx+ 8+ Ctrlh

Wikipedia上的“ 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)。


您不需要XKB即可将Unicode字符绑定到组合键,也可以使用xmodmap来完成。但是,您将无法以这种方式访问​​所有Unicode字符,因为太多了。
吉尔(Gilles)'所以

1
@Gilles xmodmap不如XKB强大,过去我遇到过问题。因此,我切换到XKB。而且我不使用所有Unicode字符。对于稀有字符,屏幕选择器可能是最好的解决方案,因为可能不知道其代码点以及如何输入它们。
vinc17

我不明白如何用compose输入∩∪∧∨∀。其余的«»€₤ö等工作。但不是数学符号。
伊戈尔·楚宾

@IgorChubin我不使用compose,只是ISO_Level3_Shift(又名AltGr)。我刚刚编辑了答案,以提供指向我的网页的链接,以解释用户XKB的自定义
vinc17

@ vinc17谢谢,我将阅读更多有关它的内容。您知道这种方法与compose相比有什么优势吗?
伊戈尔·楚宾

2

如本文中详细描述,有一种很棒的方法来添加unicode键,而不必记住任何尴尬的键组合或使用任何下拉菜单。

归结为使用Autokey,它可以将任何一组击键作为触发来运行脚本或粘贴短语。在这种情况下,您的短语就是您想要的Unicode字符。

正如文章所描述的那样,一种很好的方法是遵循LaTeX,但要使用正斜杠而不是反斜杠。例如,在任何地方(浏览器,自由办公室等)键入/ delta都会自动转换为δ。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.