ドキュメントにUnicode文字を挿入する最も簡単な方法は何ですか?


28

時々文書を書くとき、テキストにUnicode文字を挿入したいです。文字コードを知っているときもあれば、Webで調べるときもあります。

現在、挿入モードに移動してからを使用<Ctrl-V>u{four digit hex number}していますが、これは非常に面倒です。文字を挿入する簡単な方法はありますか(おそらく何らかの形式の貼り付け)?


もう1つの質問は、このより一般的な質問の「特別なケース」です。答えは同じになります...私のコメントも適用されます:OSの機能(それらが何であれ)または他のOS全体のプログラムを使用します(Windowsを使用する場合の例として、X11をエミュレートするAllCharsを使用するのが好きでした)キーを作成します;それはすべてのプログラムで動作します)。
マーティントゥルノイ

はい、それは特別なケースであり、答えはそれに特化しています。特別なケースを見たときに人々が考慮しなかったより多くのものを含む、より一般化された解決策があるとは思わないか。
マーティンヨーク

また、その質問をより一般的なものにしたり、この質問を(これは以前のものであったとしても)peだとマークすることもできます。私は本当に気にしないような。しかし、両方の質問があると、長期的には誰にとっても役立つとは思いません:
マーティントゥルノイ

世界をコントロールできたら。たぶん、他の質問と区別できるユニークな回答を集めたなら、1、2日それを立てるべきです。未回答のままであるか、回答が重複している場合は、クローズ/削除します。
マーティンヨーク

すべての権利..私は他の質問には素晴らしい答えがないことに間違いなく同意し、この質問はより良いものを引き付けるはずです(願わくば)...他の質問を編集して(より一般的にするために)依然として非常に多くの賛成票を残しますemダッシュのみを扱う回答なので、それも素晴らしいことではありません...だから、私は投票を撤回しました。これがまともな回答を得るとすぐに、もう1つをこの1つの重複を投票します。それは以前でした)...私はもちろん他の人が投票することを選択することを制御できません。
マーティントゥルノイ

回答:


23

序文:これはVimとは何の関係もありませんが、これらの文字を挿入するための「最良の」方法と考えるものを紹介します。Vimの有向グラフシステムはほぼ同じですが、Vimでのみ機能します。これはすべてのアプリケーションで機能します。

これは、X11システム(Linux、BSDなど)でのみ機能しますWindowsの場合、AllCharsがあります。しばらく更新されていませんが、Windows 7(以前の仕事で使用)で正常に動作することを確認できます。OS Xには、OSに組み込まれているこれを行うための優れた機能もあると思います。OS Xを使用している場合は、チェックアウトすることをお勧めしますが、OS XIを実際に使用したことがないため、それらを指定することはできません。

以下は、パイプラインにあるウェブログのドラフト記事の一部です。残念ながら、真に包括的なガイドは(まだ)存在せず、以下はそれが提供するすべての機能を説明ていません(たとえば、デッドキーに関するいくつかの部分が欠落しています)。まだ「十分に役立つ」。


A「コンシーケンスは」押しているComposeキーをしてから、キーボードにないいくつかの文字を生成するための1つの以上の文字、例えば、プレス Compose、直後に続く"a生じる可能性がありますä

デフォルトでComposeは、キー1にバインドされていません。右Altキー(別名Alt Gr)がよく使用されますが、これを任意のキーに設定します。

xmodmapを使用して設定する

xmodmap これを設定するために使用できます:

$ xmodmap -e 'keysym Alt_R = Multi_key'     # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key'       # You're free to use *any* key, like F12

あなたはおそらくこれをあなたの~/.Xmodmapファイルに追加したいでしょう2

! Set compose key
keysym Alt_R = Multi_key

XKBを使用して設定します

以下を使用して、XKBのオプションとして構成キーを設定することもできます setxkbmap

setxkbmap -option compose:ralt  # Right alt
setxkbmap -option compose:caps  # Caps Lock

これらを永続的にするには、コマンドをXスタートアップファイルに追加するか、次のように設定することもできます/etc/X11/xorg.conf

Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbOptions" "compose:ralt"
    #Option "XkbOptions" "compose:caps"
EndSection

または、より「モダン」なスタイルで、ファイルを作成できます /etc/X11/xorg.conf.d/90-compose.conf

Section "InputClass"
    Identifier "Set compose key"
    MatchIsKeyboard "on"
    Option "XkbOptions" "compose:ralt"
EndSection

可能な値のリストはxkeyboard-config(7)、セクション「構成キーの位置」3にあります。

デッドキーのセットアップ

デッドキーは、主に文字にアクセントや発音区別記号(ウムラウト、アクセント記号など)を追加するために使用されますが、任意のキャラクターを作成するために使用できます。... TODOで動作します '

keycode 133 = dead_greek NoSymbol SuperR

http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe


<dead_grave> <space>       : "`"   grave # GRAVE ACCENT
<dead_grave> <dead_grave>  : "`"   grave # GRAVE ACCENT
<dead_grave> <a>           : "À"   agrave # LATIN CAPITAL LETTER A WITH GRAVE

〜/ .XComposeファイルを作成する

~/.XCompose欠落している場合のデフォルトの構成ファイルは /usr/share/X11/locale/$LANG/Composeです。独自のもの~/.XComposeがあるとデフォルトが上書きされますが、次のようにデフォルトを含めることができます。

include "%L"

Composeファイルへの変更は、アプリケーションを再起動すると有効になります。Xを再起動する必要はありません。

作成キー

「構成シーケンス」とは、Composeキーを押してから1つ以上の文字を押して文字を生成することです。次に例を示します。

<Multi_key> <quotedbl> <a> : "ä" adiaeresis

押圧手段はCompose、直後に続く"a生産しますä

<Multi_key>Composeキーを使用していることを示します。次に、1つまたは複数のキーのリストが続きます。これらはkeysymsXで使用されるキーのシンボリック表現である必要があります(Keysymsセクションを参照)。

に続いて:、結果が続きます。

結果:

<Multi_key> <a>          :  "ä" adiaeresis
<Multi_key> <b> <b>      :  "ä" adiaeresis
<Multi_key> <c> <c> <c>  :  "ä" adiaeresis
<Multi_key> Alt <d>      :  "ä" adiaeresis
<Multi_key> Ctrl <e>     :  "ä" adiaeresis

:A作曲ファイルは大文字と小文字が区別され、そうAないと同じa

デッドキー

TODO

GTKおよびQtで動作させる

環境変数GTK_IM_MODULEQT_IM_MODULEをに設定しますxim

Bourneシェル:

# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

Cシェル:

# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim

こちらもご覧ください

僕の ~/.XCompose

これは~/.XCompose私が使用するものです。スクリプトを使用してこれを生成しましたが、コンパイル時に誤ってこれを上書きしました> _ <したがって、書き直す必要があります。

この行にも注意してください:

<Multi_key> <i> <b> : "NL65AEGO0721647952"

を押すCompose ibと、この文字列(ランダムテストIBAN番号)が挿入されます。オブジェクト(Person、Organization)を作成するためにそのような番号が必要なアプリケーションのテストに非常に役立ちます。XComposeは「スニペット」ツールとしても機能します:-)

脚注

1:一部のUNIXキーボードには専用のComposeキー(このSUNなど)がありましたが、最近ではこれはめったにありません。

2:既存の設定に応じて、これは起動時に読み込まれる場合と読み込まれない場合があり、設定に応じて、またはに行xmodmap ~/.Xmodmapを 追加します。 ArchLinux wikiもご覧ください~/.xinitrc~/.xsession

3:利益のために複製:

    Position of Compose key
    +------------------------------------------------------+
    |Option                Description                     |
    +------------------------------------------------------+
    |compose:ralt          Right Alt                       |
    |compose:lwin          Left Win                        |
    |compose:lwin-altgr    3rd level of Left Win           |
    |compose:rwin          Right Win                       |
    |compose:rwin-altgr    3rd level of Right Win          |
    |compose:menu          Menu                            |
    |compose:menu-altgr    3rd level of Menu               |
    |compose:lctrl         Left Ctrl                       |
    |compose:lctrl-altgr   3rd level of Left Ctrl          |
    |compose:rctrl         Right Ctrl                      |
    |compose:rctrl-altgr   3rd level of Right Ctrl         |
    |compose:caps          Caps Lock                       |
    |compose:caps-altgr    3rd level of Caps Lock          |
    |compose:102           <Less/Greater>                  |
    |compose:102-altgr     3rd level of <Less/Greater>     |
    |compose:paus          Pause                           |
    |compose:prsc          PrtSc                           |
    |compose:sclk          Scroll Lock                     |
    +------------------------------------------------------+

1
Windowsの場合、AllcharsではなくWincomposeを使用します。ブリキに書かれていることを正確に実行します。Wincomposeが見つかるまでAllcharsを使用しました。コンポーズの制限は、すべてのキャラクターに到達するために記憶に残る組み合わせを持つことはできず、頻繁に使用するキャラクターまたは論理的な分解を持つキャラクターのみに到達することです。
ジル「SO-停止されて悪」

@Gillesありがとう。WinComposeは良さそうです。「最もよく使用される」文字のかなり限られたサブセットのみを入力できることは正しいです。私にとって、これは95%を超える時間で十分です。私が使用し、残りについてUniViewを ...私は...大幅にもっと良いものを認識していないんだ
マーティンTournoij

めったに使用されないキャラクターについては、Shapecatcher(私が知っているエディター統合なし)を使用するか、キャラクター名を入力します(C-x 8 RETviでないエディターでは、Vimに類似のものがあるかどうかわかりません)。
ジル「SO-悪であるのをやめる」

1
KDEユーザは、このメソッドを使用することはできませんKDEでXorgにこの機能を実装するための責任をrelegates、とのXorgは、Qtのにrelegates、およびQtはバックのXorgにrelegatesRTLテキストの入力については、このページで説明します
-dotancohen

@dotancohenそれは別の問題のように見えます(機能要求など)。
マーティントゥルノイ

20

ユーロ記号や著作権記号などのUnicode文字、またはドイツ語のウムラウト記号やアクセント記号などの発音区別記号を挿入digraphsするために使用できます。

たとえば、挿入モードでCtrl+ kを押して、次を入力します。

  • スペイン語:a'for áE'for Én?for ñ、for
  • ドイツ語:a:for ässfor ß
  • その他のアクセント付き文字:a!for àa>for â、for êa?for ã
  • ギリシャ:a*α(アルファ)、b*のためのβ(ベータ)、g*γ(ガンマ)、d*のためのδ(デルタ)。
  • 平方数:22²33または³
  • 通貨:Euについて、(ユーロ)Pd£(ポンド)、
  • Cofor ©(Copyright)、DGfor °(Degree)、
  • OKfor XXfor Sbfor (箇条書き)、
  • 句読点:-Nfor (en dash)、-Mfor (em dash)

digraphオプションが設定されている場合(:set dg)、次の方法も使用できます。

  • aBackspace:以下のためäEBackspaceuなど

現在定義されている有向グラフをリストするには、:digraphs:dig)を入力します。

出典:Vim Wikiaサイトで特殊文字入力します。


OS X

OS Xを使用している場合は、次の方法でアクセント付き文字をどこにでも簡単に入力できます。

  • Option+ e、次にafor áefor éifor í、および類似、
  • Option+ n、次にafor ãnfor ñ、および同様、
  • Option+ u、その後uのためにü
  • 逆さまの句読点:Option+ 1for ¡Option+ Shift+ ?for ¿

こちらもご覧ください:


6

私のユニコードプラグインはユニコード文字の簡単な入力を可能にします。具体的には

  • :Digraph <name> -文字の有向グラフを検索

  • :UnicodeTable -文字セット表を表示します

  • :UnicodeName -カーソルの下の文字を識別する

  • Unicodeテーブル(:h i_CTRL-X_CTRL-Z)またはdigarphs(:h i_CTRL-X_CTRL_G)の名前または値を使用した文字の補完

プラグインの使用方法の詳細については、ヘルプを参照してください。



3

一般的に使用される文字、:digraphまたは前述のComposeキーなどの外部手段には最適です。めったに使用されないものについては、次のように略語を定義します。

norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠

そして、私のSnippetCompleteプラグインを使用して、そのようなすべての略語をリストするポップアップメニューを取得します。unicode_<C-x>]

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