备择方案。

备择方案。

这似乎是一个有点奇怪的问题,但我想到,当输入如下命令时,我总是必须复制并粘贴以下字符维基百科

echo '5 μs' >> /tmp/Output

有没有办法在标准英文键盘上使用键盘快捷键上的转义序列直接输入这样的字符?

例如,在 中Vim,人们可以做来C-k,m*产生这个角色。

答案1

是的,至少有这四(五?)种方式:

  1. AltGr
    进行键盘布局English (international AltGr dead keys)
    然后正确的 Alt关键是AltGr关键。按AltGr-m将生成 µ。许多其他键也会生成其他字符:AltGr-s 用于ß,Shift-AltGr-s 用于§

    控制台有一个单独的键盘布局(真正的控制台最多AltCtrlF1F6),X 中的 GUI 有一个单独的键盘布局。更改任一键盘布局取决于您的发行版(CentOS、Fedora、Debian 等)和显示管理器(gnome、kde、xfce) , ETC。)。例如,安装xfce4-xkb-plugin将允许面板上的按钮配置键盘并在 XFCE 中的 X 的多个键盘布局之间切换。

  2. 撰写
    将某个键设为Compose键。然后,按下Compose,松开,按下/,松开,u就会产生一个 µ。

    定义Compose键通常是通过xkb键盘布局小程序完成的。
    例如,在 Gnome 中通常可在区域和语言中找到部分,或者也许,轻松切换键盘布局

  3. Unicode
    有一种通用的输入方式任何Unicode 字符(如果您的控制台支持)。是的任何代码点1,111,998 个可能的字符(如果您的字体可以绘制它们,则可见)。按一个和弦(同时)ShiftCtrlu,松开它们(可能会出现带下划线的 u̲),然后键入b5该字符的 Unicode 代码点(始终为十六进制)。最后,输入空格或回车(至少)。

  4. Readline
    在 bash 提示符中(当您标记问题时)可以使用 readline 生成 µ ( mu)。

     bind '"\eu": "µ"'
    

    或者添加以下行:

     "\eu": "µ"
    

    到,使用- -~/.inputrc读取它或启动一个新的 bash shell(执行),然后输入:Altx Altrbash

    Alt-u

    将会µ出现。

  5. 输入法
    对于这样的简短回答来说可能太多了。


错误:从技术上讲,问题中请求的字符是 Unicode,\U3bc而此答案提供了 的解决方案\Ub5。是的,它们是不同的,我的错误,抱歉。

 $ unicode $(printf '\U3bc\Ub5')
 U+03BC GREEK SMALL LETTER MU
 UTF-8: ce bc UTF-16BE: 03bc Decimal: μ Octal: \01674
 μ (Μ)
 Uppercase: 039C
 Category: Ll (Letter, Lowercase)
 Unicode block: 0370..03FF; Greek and Coptic
 Bidi: L (Left-to-Right)

 U+00B5 MICRO SIGN
 UTF-8: c2 b5 UTF-16BE: 00b5 Decimal: µ Octal: \0265
 µ (Μ)
 Uppercase: 039C
 Category: Ll (Letter, Lowercase)
 Unicode block: 0080..00FF; Latin-1 Supplement
 Bidi: L (Left-to-Right)
 Decomposition: <compat> 03BC

从技术上讲,唯一有效的解决方案是数字 3 和 4。在 3 中,可以将 Unicode 数字从 更改为b53bc获得这个值希腊语特点。在4中只需复制正确的字符即可完成。

不是为我辩护,但是

  1. b5和都3bc为大写39c。所以,两者都是 MU 的小写。
  2. 两者看起来非常非常相似(可能是相同的字体字形):

在此输入图像描述

备择方案。

  1. 替代组

    很有可能并且已经完成了将 AltGr-g (带有 xkb)更改为:

     key <AC05>  { [         g,          G,       dead_greek,   dead_greek ]};
    

    然后输入AltGr-g m一个真正的希腊语-mu。

  2. 撰写

    Compose 表不正确,甚至希腊语 Compose 文件 (/usr/share/X11/locale/el_GR.UTF-8/Compose) 也列出了:

     <Multi_key> <slash> <u>                 : "µ"   mu
     <Multi_key> <u> <slash>                 : "µ"   mu
     <Multi_key> <slash> <U>                 : "µ"   mu
     <Multi_key> <U> <slash>                 : "µ"   mu
    

    那些作品是Greek,但它们不是。

    正确的 compose 解决方案是包含希腊语的 ~/.XCompose并重新启动。

  3. 统一码

    按发布的方式工作,带有 unicode 编号3bc

  4. 阅读线

    按照发布的方式工作,将有效字符更改为任何想要的字符。

答案2

如果你启用您的撰写键,您可以使用序列打印此符号compose/u,如下所示: µ

可用的全部符号及其各自的按键序列是记录在 Ubuntu wiki 上

答案3

使用输入法

CIN 文件输入方法可在 X11 和我的用户空间虚拟终端中使用。常见的一种,greek.cin有“穆”字。只需输入m(小写)即可,这是唯一的转换。

人们可以修改greek.cin以添加 micro,从而提供第二次转换,尽管在视觉上这会非常混乱,如果它们都映射自m.更好的转换将映射micro到 U+00B5:

微μ

使用 ISO 9995 通用二级组

您的 X11 键盘映射或虚拟终端可能无法实现此功能,但如果实现了,则存在一个与国家/地区无关的标准键顺序(的键和弦)用于 ISO/IEC 9995: ⇨ Group 2 SelectB07定义的 mu 字符

  • ⇨ Group 2 Select通常是和弦⇧ Level 2 Shift+,⇮ Level 3 Shift因为 USB HID 规范和其他规范缺乏正确键的代码⇨ Group 2 Select,并且大多数键盘上不存在这样的键。
  • ⇮ Level 3 Shift⌥ Option通常刻⇮ AltGr在 105/106/107/109 键键盘或⎇ Alt104 键键盘上。
  • B07 是“B”行和“07”列物理位置的标准 ISO/IEC 9995 表示法,并且那里的键通常刻有M

在实施时,这个所谓的共同次要群体ISO/IEC 9995 的内容不会因所选国家/地区的布局而变化,并且始终可用。

然而,微前缀字符没有公共的辅助组序列。

使用键盘布局中定义的任何和弦

键盘布局的具体细节超出了本答案的范围,这里有很多涉及它们的答案。

概要:

X11 应用程序有一个键盘布局,内核虚拟终端有一个可能相关的键盘布局(如果您的操作系统有这样的键盘布局),并且有用户空间虚拟终端的键盘布局(如果您正在使用这样的键盘布局)。布局通常提供诸如和弦之类的字符以及主键盘键⇧ Level 2 Shift⇮ Level 3 Shift与主键盘键结合的字符。

一些 X11 键盘映射进一步定义(作为可选附录)撰写键它开始映射到这些字符的键序列(多个键和弦)。在里面传统的 X11 组合集,如 David Monniaux 多年前所记录,mu字符是序列Compose M U或序列Compose / U。请注意,它与微前缀字符混淆。

请查阅您的 VT 和 X11 键盘映射,了解有关映射的和弦(如果有)的信息。检查您的配置是否启用了 X11 中的撰写键选项。

例子:

chFreeBSD 中的、deitnl和虚拟终端键盘映射no提供 mu 字符作为和弦⇮ Level 3 Shift+B07 ( M):

% sed -n -e '2,5p;/0xb5/p' /usr/share/vt/keymaps/de.kbd /usr/share/vt/keymaps [pts/4.10009.1]
# 替代
# 扫描 cntrl alt alt cntrl 锁定
# 代码 基本 移位 cntrl 移位 alt 移位 cntrl 移位状态
#------------------------------------------------- -----------------
  050 '米' 'M' cr cr 0xb5 0xb5 cr cr C
%

但其他地图要么没有它,要么定义了不同的和弦。在fr键盘映射中,它是⇧ Level 2 Shift+C12 (EUROPE1):

% sed -n -e '2,5p;/0xb5/p' /usr/share/vt/keymaps/fr.kbd /usr/share/vt/keymaps [pts/4.10011.1]
# 替代   
# 扫描 cntrl alt alt cntrl 锁定
# 代码 基本 移位 cntrl 移位 alt 移位 cntrl 移位状态
#------------------------------------------------- -----------------
  043 '*' 0xb5 nop nop '#' '~' nop nop O
%

uk而且它根本没有映射到键盘映射中。它们也没有微型前缀字符。

其他方法

其他方法特定于应用程序输入处理库或特定终端仿真器,而输入方法和 X11/VT 键盘映射并非特定于应用程序。

某些终端仿真器通过 Unicode 代码点提供其他输入字符的方式。 Readline 当然可以配置为将输入序列映射到该字符,ZLE 也可以。而且你已经在问题中提到了 VIM。

进一步阅读

相关内容