AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 487245
Accepted
merlin2011
merlin2011
Asked: 2018-12-11 17:05:15 +0800 CST2018-12-11 17:05:15 +0800 CST 2018-12-11 17:05:15 +0800 CST

是否可以在 bash 命令行上键入 μ 而无需复制和粘贴?

  • 772

这似乎是一个奇怪的问题,但我突然想到,在键入如下命令时,我总是必须从Wikipedia复制并粘贴字符。

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

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

例如,在 中Vim,可以C-k,m*生成这个字符。

command-line keyboard-shortcuts
  • 3 3 个回答
  • 3802 Views

3 个回答

  • Voted
  1. Best Answer
    user232326
    2018-12-11T22:04:03+08:002018-12-11T22:04:03+08:00

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

    1. AltGr
      制作您的键盘布局English (international AltGr dead keys)。
      那么正确 Alt的钥匙就是AltGr钥匙。按AltGr-m将生成 µ。许多其他键也会生成其他字符:AltGr-s 代表ß, Shift-AltGr-s 代表§。

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

    2. 撰写
      使某个键成为Compose键。然后,按下Compose,释放它,按下/,释放它,然后u将生成一个 µ。

      Compose通常使用xkb或使用键盘布局小程序来定义键。
      例如,在 Gnome 中,通常在 Region & Language部分可用,或者可能,Switch Keyboard Layout Easy。

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

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

       bind '"\eu": "µ"'
      

      或添加以下行:

       "\eu": "µ"
      

      to ,用- -~/.inputrc阅读它或启动一个新的 bash shell (execute ),当你输入: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 数字可以从 更改b5为3bc以得到这个希腊字符。在 4 中只需复制正确的字符并完成。

    不为我辩护,但

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

    在此处输入图像描述

    备择方案。

    1. 替代品

      通过将AltGr -g(使用 xkb)更改为:

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

      然后打字AltGr-g m得到一个真正的希腊语。

    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. 阅读线

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

    • 14
  2. jasonwryan
    2018-12-11T17:08:51+08:002018-12-11T17:08:51+08:00

    如果启用 compose keycompose/u ,则可以使用序列打印此符号,如下所示: µ

    Ubuntu wiki 上记录了所有可用符号及其各自的键序列。

    • 4
  3. JdeBP
    2018-12-12T02:56:35+08:002018-12-12T02:56:35+08:00

    使用输入法

    CIN 文件输入法可用于 X11 和我的用户空间虚拟终端。常见的一种,greek.cin,具有 mu 字符。只需输入m(小写),这是唯一的转换。

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

    微μ

    使用 ISO 9995 通用二级组

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

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

    在实施的情况下,这个所谓的 ISO/IEC 9995通用二级组不应因所选国家/地区的布局而异,并且始终可用。

    然而,微前缀字符没有共同的次级组序列。

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

    键盘布局的细节超出了这个答案的范围,这里有很多关于它们的答案。

    简介:

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

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

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

    例子:

    FreeBSD 中的ch,de​​ , it, nl, 和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 锁
    # 代码库 shift cntrl shift alt shift cntrl shift state
    #------------------------------------------------ -----------------
      050 'm' '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 锁
    # 代码库 shift cntrl shift alt shift cntrl shift state
    #------------------------------------------------ -----------------
      043 '*' 0xb5 nop nop '#' '~' nop nop O
    %

    而且它根本没有映射到uk键盘映射中。它们中的任何一个都没有微前缀字符。

    其他方法

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

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

    进一步阅读

    • 乔纳森·德博因·波拉德 (2018)。“终端资源”。 小吃指南。软件。
    • 乔纳森·德博因·波拉德 (2018)。 在 ISO 9995-3 键盘上键入越南的座右铭。nosh 工具集。软件。
    • 乔纳森·德博因·波拉德 (2018)。 nosh 用户空间虚拟终端中的日语输入法。nosh 工具集。软件。
    • 默认的撰写键绑定存储在哪里?
    • 以与 X/控制台无关的方式更改控制台 (tty) 和 X 上的键盘布局/映射?
    • 3

相关问题

  • ip 命令是否支持通配符?

  • 需要许多参数的实用程序的推荐界面是什么?[关闭]

  • 远程运行 X 应用程序,在远程主机上运行 GUI [关闭]

  • 使 mysql CLI 以交互方式向我询问密码

  • 没有服务器的命令行 pub/sub?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve