web-dev-qa-db-ja.com

コピーして貼り付けることなく、bashコマンドラインでμを入力することは可能ですか?

これは少し奇妙な質問のように思えるかもしれませんが、次のようなコマンドを入力するときは常に Wikipedia から文字をコピーして貼り付ける必要があることに気付きました。

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

標準の英語キーボードのキーボードショートカットでエスケープシーケンスを使用して、そのような文字を直接入力する方法はありますか?

たとえば、Vimでは、C-k,m*この文字を生成します。

5
merlin2011

はい、少なくとも次の4つ(5つの方法)があります。

  1. Alt Gr
    キーボードレイアウトを作成しますEnglish (international AltGr dead keys)
    次にright Alt キーは AltGr キー。押す AltGr-m µを生成します。他の多くのキーも他の文字を生成します:ßの場合はAltGr-s、§の場合はShift-AltGr-s。

    コンソール用の個別のキーボードレイアウトがあります(実際のコンソールは AltCtrlF1 まで F6)およびXのGUI用です。どちらを変更するかは、ディストリビューション(CentOS、Fedora、Debianなど)とディスプレイマネージャー(gnome、kde、xfceなど)によって異なります。たとえば、 installing xfce4-xkb-plugin を使用すると、パネルのボタンでキーボードを構成し、XFCEでXの複数のキーボードレイアウトを切り替えることができます。

  2. 作曲
    いくつかのキーを作ります Compose キー。次に、presing Compose、それを解放し、押す /、それを解放し、次に u µを生成します。

    Composeキーの定義は通常、xkbまたはキーボードレイアウトアプレットを使用して行われます。
    たとえば、Gnomeでは通常 地域と言語で利用可能 セクション、または多分 キーボードレイアウトを簡単に切り替える です。

  3. Unicode
    anyUnicode文字を入力する一般的な方法があります(コンソールでサポートされている場合)。はい 1,111,998可能な文字 のコードポイント(フォントがそれらを描画できる場合に表示されます)。押して、1つのコードとして(同時に) ShiftCtrlu、それらを解放し(おそらく、下線付きのu̲が表示されます)、文字のUnicodeコードポイント(常に16進数)であるb5を入力します。最後に、スペースを入力するか、(少なくとも)入力します。

  4. 読み込まれた行
    bashプロンプトでは(質問にタグを付けたように)、readlineを使用してµ(mu)を生成できます。

     bind '"\eu": "µ"'
    

    または、次の行を追加します。

     "\eu": "µ"
    

    ~/.inputrcに読み、 Alt-xAlt-r または、新しいbashシェルを起動し(bashを実行)、次のように入力します。

    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. b53bcはどちらも大文字の39cを持っています。したがって、どちらもMUの小文字です。
  2. どちらも非常によく似ています(おそらくフォントのグリフは同じです)。

enter image description here

代替案。

  1. Alt Gr

    その非常に可能な そして既に行われています AltGr-gを(xkbで)変更することにより:

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

    次に、AltGr-g mと入力して、本当のギリシャ語-muを取得します。

  2. 作曲

    ギリシャ語のComposeファイル(/usr/share/X11/locale/el_GR.UTF-8/Compose)がリストされていても、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. 読み込まれた行

    投稿されたとおりに機能し、有効なキャラクターを任意のキャラクターに変更します。

13
Isaac

構成キーを有効にする の場合、この記号を compose/u そのようなシーケンス:µ

利用可能なシンボルの全範囲、およびそれぞれのキーシーケンスは buntu wikiに文書化 です。

4
jasonwryan

入力方法の使用

CINファイル入力メソッドは、X11とユーザー空間の仮想端末で使用できます。一般的に収集されるものの1つであるgreek.cinは、mu文字を持っています。 m(小文字)を入力するだけで、それが唯一の変換になります。

greek.cinを変更してマイクロを追加し、2番目の変換を提供できますが、視覚的には混乱を招き、両方がmからマッピングされる場合、変換の選択中に正しいものを選択することが難しくなります。より良い変換はmicroをU + 00B5にマッピングします:

マイクロμ

ISO 9995共通セカンダリグループを使用する

X11キーボードマップまたは仮想端末はこれを実装しない可能性がありますが、実装する場合、標準の国に依存しないキーsequence(oftwoキーコード))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 通常刻印されています ⌥ Option または ⇮ AltGr 105/106/107/109キーキーボードまたは ⎇ Alt 104キーのキーボード。
  • B07は、行「B」と列「07」の物理的な位置を表す標準のISO/IEC 9995表記であり、通常、そこに刻印されている M

実装されている場合、ISO/IEC 9995のこのいわゆる共通セカンダリグループは、選択した国のレイアウトによって異なるものではなく、常に利用可能です。

ただし、マイクロプレフィックス文字の一般的なセカンダリグループシーケンスはありません。

キーボードレイアウトで定義されているコードを使用する

キーボードレイアウトの詳細はこの回答の範囲を超えており、ここではそれらを扱う多くの回答があります。

プレシ:

X11アプリケーションにはキーボードレイアウトがあり、カーネル仮想端末にはおそらく関連するキーボードレイアウトがあり(オペレーティングシステムにそのような場合)、ユーザー空間仮想端末にはキーボードレイアウトがあります(使用している場合)。レイアウトは一般に、和音などの文字を提供します ⇧ Level 2 Shift または ⇮ Level 3 Shift メインキーパッドキーと組み合わせて。

一部のX11キーボードマップは、(オプションの補遺として)構成キーを定義します。これは、そのような文字にマップする(複数のキーコードの)キーシーケンスを開始します。 David Monniauxが数年前に文書化した従来のX11コンポジションセット では、mu文字はシーケンスです ComposeMU またはシーケンス Compose/U。これは、マイクロプレフィックス文字と照合されることに注意してください。

マップされているコードがある場合は、そのコードについてVTおよびX11キーボードマップを調べてください。 X11でキー作成オプションが有効になっているかどうか、構成を確認してください。

例:

FreeBSDのchdeitnl、およびno仮想端末キーボードマップは、コードとしてミュー文字を提供します ⇮ 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] 
#alt 
#scan cntrl alt alt cntrl lock 
#コードベースシフトcntrlシフトaltシフトcntrlシフト状態
#---------------- -------------------------------------------------- 
 050 'm' 'M' cr cr 0xb5 0xb5 cr cr C 
% 

しかし、他のマップにはそれがないか、別のコードが定義されています。 frキーボードマップでは ⇧ Level 2 Shift+ C12(ヨーロッパ1):

%sed -n -e '2,5p;/0xb5/p' /usr/share/vt/keymaps/fr.kbd/usr/share/vt/keymaps [pts/4.10011.1] 
#alt 
#scan cntrl alt alt cntrl lock 
#コードベースシフトcntrlシフトaltシフトcntrlシフト状態
#---------------- -------------------------------------------------- 
 043 '*' 0xb5 nop nop '#' '〜' nop nop O 
%

そして、それはukキーボードマップにはまったくマップされていません。また、マイクロプレフィックス文字もありません。

その他の方法

その他のメソッドは、アプリケーション入力処理ライブラリまたは特定の端末エミュレータに固有ですが、入力メソッドおよびX11/VTキーボードマップはアプリケーション固有ではありません。

一部の端末エミュレーターは、Unicodeコード・ポイントによって、文字を入力する他の方法を提供します。もちろん、Readlineは、ZLEと同様に、入力シーケンスをこの文字にマップするように構成できます。そして、あなたはすでに質問でVIM=について言及しました。

参考文献

3
JdeBP