Unicode文字を書く普遍的な方法はありますか?


18

vim、Chrome(今のように!)、またはLibreOfficeなどのさまざまなプログラムで、emダッシュ(—)などの特殊なUnicode文字を書きたいことがあります。

LibreOfficeでは、[挿入]メニューの下にある専用のダイアログボックスでこれを実現できます。他のプログラムには組み込みの方法がないようです。これらの場合の私の解決策は、Wikipediaでキャラクターを検索し、コピーして貼り付けることです。

Linuxでテキスト入力を受け付けるプログラムで、すでに印刷されている場所からコピーアンドペーストすることなく、Unicode文字を書く普遍的な方法はありますか?


ウィキペディアで「Unicode入力」を検索できます。今私の答えで述べた。
vinc17

LibreOffice(およびMS Office)には、(C)->のような自動置換のリストもあります©。多くの場合、人々--はen-dashおよび---em-dashとして構成します。
サイモンリヒター

Is there a universal way...いいえ。(プログラミングを介して何かを行うための「普遍的な」方法を知りません。)
user2338816

回答:


14

Composeキーを有効にするか、キーを押しCtrlShiftUてから文字のUnicode 16進数を続けることができます(先頭のゼロはスキップできます)。たとえば、ÆはCtrlShiftU、次にC6です。これは、GNOMEターミナル、ターミネーター、Google Chrome、およびその他の多くのアプリケーションで動作しますが、Xterm(およびコメントによると、Emacs)は動作しません。

GNOMEで有効Composeにするには、キーボード設定に移動し、ショートカット入力代替文字キーに移動して、何か(たとえば、Right Alt)にマッピングします。次に、Composeキーを押し、- 3回em-dashを取得します— —。(この段落の矢印はすべてCompose->です。)

ここに画像の説明を入力してください


2
Ctrl + Shift + uソリューションは、XtermおよびEmacsでは機能しません。Firefoxでも機能しません。
vinc17

2
@ vinc17それは私にとってFirefoxで動作します。テストするXtermもEmacsもありません。
ムル

うーん、はい、Firefoxで動作しますが、16進シーケンスの後にスペースキーを入力する必要があります。いずれにせよ、これは普遍的ではありませんが、おそらくいくつかのアプリケーション(またはいくつかのウィンドウマネージャー?)によって追加された機能です。また、Operaでは機能しません。
vinc17

AltGrは、追加のキーの組み合わせを取得するための単なる修飾子です。これは、回答にリストされている文字を入力するために使用するものです(たとえば、Shift + AltGr + [は←を返します)。ただし、ユーザーは文字をファンクションキーなどの他のキーにマップすることもできます。これは、フランス語のアクセント文字éèêëâîôûàùïçを取得するために行うことです。XKB設定を介して行われるすべて。
vinc17

@ vinc17私は壮大な失敗をしました。Composeについて話していたので、代わりにAltGrと言いました。
ムル

7

最善の方法は、キーボードで文字を入力することです。XKBのおかげで、任意のUnicode文字をキーの組み合わせにバインドできます。たとえば、ユーザーXKBのカスタマイズでは、直接入力できます。←→↑↓…€½«»— −±≠±∪⊂∧∨∀∃√∞≤≥など

注:GNU Emacsの特定の場合、Unicode構成はCtrlx+ 8+ を介して実行できますReturn。追加の方法については、Ctrlx+ 8+ Ctrlhを参照してください。

ウィキペディアの「Unicode入力」は、特に一部のツールキットを備えたX11および特定のアプリケーション(Emacs、Opera、Vim)のコンテキストに応じたISO 14755 Unicode入力に関する情報を提供します。

または、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"ラインが最初にロードデフォルト(ロケール固有)作曲ファイル、および次の4行は、次のようなユーザー定義の設定を追加します:Compose+ [+ c左天井文字「⌈」(+ 2308 U)を提供します。


Unicode文字をキーの組み合わせにバインドするためにXKBは必要ありません。xmodmapを使用してもできます。ただし、すべてのUnicode文字にその方法でアクセスすることはできませんが、あまりにも多すぎます。
ジル「SO-悪であるのをやめる」

1
@Gilles xmodmapはXKBほど強力ではなく、過去に問題がありました。したがって、XKBに切り替えます。さらに、すべてのUnicode文字を使用しているわけではありません。まれなキャラクターの場合、コードポイントとその入力方法がわからない可能性があるため、画面上のピッカーが最適なソリューションです。
vinc17

作曲で∩∪⊂∧compose enterを入力する方法がわかりません。残りの«»€₤öなどは機能します。しかし、数学記号ではありません。
イゴールチュビン

@IgorChubin私はコンポーズを使用しません、ただISO_Level3_Shift(別名AltGr)。答えを編集して、ユーザーXKBのカスタマイズを説明するWebページへのリンクを作成しました
vinc17

@ vinc17ありがとう、私はそれについてもっと読みます。作曲に比べてこの方法の利点を知っていますか?
イゴールチュビン

2

この投稿で詳しく説明したように、厄介なキーの組み合わせを覚えたり、ドロップダウンメニューを使用したりすることなく、Unicodeキーを追加する素晴らしい方法があります。

要するにAutokeyを使用することです。これは、スクリプトを実行したりフレーズを貼り付けたりするためのトリガーとして、任意のキーストロークのセットを取ることができます。この場合、フレーズは単に必要なユニコード文字です。

投稿で説明されているように、それを行う良い方法はLaTeXに従うことですが、バックスラッシュではなくスラッシュを使用します。たとえば、任意の場所(ブラウザ、libre officeなど)に/ deltaと入力すると、自動的にδに変換されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.