如何在Linux中键入特殊字符?


84

在Windows中,可以通过按住alt键并输入一些数字来从键盘特殊符号键入内容,具体取决于要使用的符号。它以相同的方式与linux一起工作吗?


在Windows中,这仅适用于ASCII码,对吗?对于Unicode字符,该怎么做?
FranBran 2015年

1
frabra,并非所有应用程序都以这种方式支持unicode输入。但通常从零开始帮助数字,即键入Alt + 08212作为M-dash,而不是Alt +8212。–
Smylic

@FranBran您需要启用十六进制小键盘,然后才能输入任何Unicode字符
phuclv

@Smylic不适用于大多数应用程序,因为十进制的Alt码将以256为模。您必须使用十六进制小键盘
phuclv

Answers:


97

您可以使用Ctrl+ Shift+ u后跟十六进制代码。(您只需要按住CtrlShift输入代码即可)


2
约翰,您知道提供此功能的是什么吗?我以前从未听说过。在控制台上它在哪里工作?Ubuntu在GNOME中的默认设置?谢谢。
09年

1
为“ GNOME中的作品” 找到了类似的来源(减去u,只是按住Ctrl+Shift),并且找到了VIM的使用u而不是的方法Shift
2009年

6
谢谢,为我工作。在Ubuntu的终端(在X下)中,我可以键入Ctrl + Shift + U,放开所有3,然后键入66,然后按Space,最后得到“ f”,这是UTF- 66中正确的字符8。但是,它在tty1(control-alt-F1-非图形终端)中不起作用。
Stan Kurdziel

1
对KDE有什么解决方案吗?
杰克

5
我使用Compose(映射为Right-Ctrl),它应该在所有DE中都起作用,因为它由X提供。 Compose " A=> äCompose g p i=>“π”,等等
Mark K Cowan

54

X使用一种称为compose键的东西。通过按Composesome keysome key...的顺序,你可以输入的字符。我的撰写键设置为Menu; 键入©(版权符号),我会用Menuoc

您可以在线(200 KiB)或在本地找到X个组合键组合的完整列表/usr/share/X11/locale/en_US.UTF-8/Compose

在Gnome中,可以通过转到“首选项”→“键盘”→“布局”选项卡→“布局选项”→“组合键位置”来设置组合键。


12
“记住unicode代码点”答案的投票数是组合键的两倍吗?疯狂。
Mark E. Haase 2013年

2
完善。如果没有GNOME,则可以通过设置组合键setxkbmap。例如,$ setxkbmap -option 'compose:menu'将“菜单”键(在Alt Gr和键盘上的Ctrl之间)设置为撰写键。
Emil Lundberg 2014年

@mehaase因为在我的笔记本电脑上没有可用的密钥供我映射为Compose。因此,相对于优雅的答案,我将给出一个不完善的答案。
悬崖

悬崖,那是什么奇怪的笔记本电脑?我有一台带有“菜单”键的微型笔记本电脑(与我一样,virtuallinux用作Compose键)。它没有免费的未使用密钥吗?无论如何,您在Linux中都不需要“ Windows”键吗?奇怪的。
尔根A.艾哈德'18

@Cliff,我设法将其设置为“ Left Ctrl的第三级”,因此需要备用键;希望您能找到适合您的东西。
阿米尔(Amir)

26

在Linux中输入Unicode字符会有所不同。的UTF-8和Unicode FAQ具有包含部分不同的输入方法

  • Ctrl+ Shift+ U [unicode in hex]ISO 14755中定义,并由GTK2 +实现,并且可在GNOME终端和其他应用程序中使用。
  • Ctrl+ V u [unicode in hex]可在VIM中使用。
  • Alt+ [unicode in decimal using numpad digits]可以在控制台上运行,前提是您的环境已正确配置为使用UTF-8(通过LOCALE或LANG环境变量)。(unicode_start手册页)。

您可以使用的其他方法:

  • 从包含所需字符的小型输入文件中剪切n粘贴字符。
  • 使用xmodmap重新映射键在X(见上文的例子FAQ链接)。

(我删除了您添加到问题中的UTF8标签,因为它实际上是一种编码,在键入字符时不会使用。)
Arjan

2
+1(包括VIM)。我很好奇如何在Intellij中使用VIM绑定进行此操作。
new123456'2

我可以使用$ LANG = en_US.utf8在ubuntu 12.04的tty1控制台(control-alt-F1)中确认alt-numpad对我有用,但是代码是十进制,而不是十六进制,因此对于“ f ”,我按住Alt键,输入102,让Alt向上弹出,弹出“ f”。
Stan Kurdziel

当人们几乎完全忘记了Compose的美丽时,我们生活在一个悲伤的世界中。
尔根A.艾哈德'18


1

对于Linux和Windows,有一种比使用不需要您记住任何代码的alt键代码更好的方法。在这里详细描述。

要点是您使用AutoHotKey(Windows)或AutoKey(Linux)。两者都在后台运行,并接受任意字符串作为触发器来运行命令,在这种情况下,该命令是将特殊字符发送到剪贴板,然后将其粘贴到当前正在使用的任何程序中。

给定的示例将/ 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.