時々文書を書くとき、テキストにUnicode文字を挿入したいです。文字コードを知っているときもあれば、Webで調べるときもあります。
現在、挿入モードに移動してからを使用<Ctrl-V>u{four digit hex number}
していますが、これは非常に面倒です。文字を挿入する簡単な方法はありますか(おそらく何らかの形式の貼り付け)?
時々文書を書くとき、テキストにUnicode文字を挿入したいです。文字コードを知っているときもあれば、Webで調べるときもあります。
現在、挿入モードに移動してからを使用<Ctrl-V>u{four digit hex number}
していますが、これは非常に面倒です。文字を挿入する簡単な方法はありますか(おそらく何らかの形式の貼り付け)?
回答:
序文:これは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 -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のオプションとして構成キーを設定することもできます
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
欠落している場合のデフォルトの構成ファイルは
/usr/share/X11/locale/$LANG/Compose
です。独自のもの~/.XCompose
があるとデフォルトが上書きされますが、次のようにデフォルトを含めることができます。
include "%L"
Composeファイルへの変更は、アプリケーションを再起動すると有効になります。Xを再起動する必要はありません。
「構成シーケンス」とは、Composeキーを押してから1つ以上の文字を押して文字を生成することです。次に例を示します。
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
押圧手段はCompose、直後に続く"と
a生産しますä
。
<Multi_key>
Composeキーを使用していることを示します。次に、1つまたは複数のキーのリストが続きます。これらはkeysyms
Xで使用されるキーのシンボリック表現である必要があります(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_IM_MODULE
&QT_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 |
+------------------------------------------------------+
C-x 8 RET
viでないエディターでは、Vimに類似のものがあるかどうかわかりません)。
ユーロ記号や著作権記号などのUnicode文字、またはドイツ語のウムラウト記号やアクセント記号などの発音区別記号を挿入digraphs
するために使用できます。
たとえば、挿入モードでCtrl+ kを押して、次を入力します。
a'
for á
、E'
for É
、n?
for ñ
、fora:
for ä
、ss
for ß
、a!
for à
、a>
for â
、for ê
、a?
for ã
、a*
用α
(アルファ)、b*
のためのβ
(ベータ)、g*
用γ
(ガンマ)、d*
のためのδ
(デルタ)。22
用²
、33
または³
Eu
について€
、(ユーロ)Pd
用£
(ポンド)、Co
for ©
(Copyright)、DG
for °
(Degree)、OK
for ✓
、XX
for ✗
、Sb
for ∙
(箇条書き)、-N
for –
(en dash)、-M
for —
(em dash)digraphオプションが設定されている場合(:set dg
)、次の方法も使用できます。
a
Backspace:
以下のためä
、E
Backspaceu
用€
など現在定義されている有向グラフをリストするには、:digraphs
(:dig
)を入力します。
OS X
OS Xを使用している場合は、次の方法でアクセント付き文字をどこにでも簡単に入力できます。
á
、efor é
、ifor í
、および類似、ã
、nfor ñ
、および同様、ü
、¡
、Option+ Shift+ ?for ¿
、こちらもご覧ください:
私のユニコードプラグインはユニコード文字の簡単な入力を可能にします。具体的には
:Digraph <name>
-文字の有向グラフを検索
:UnicodeTable
-文字セット表を表示します
:UnicodeName
-カーソルの下の文字を識別する
Unicodeテーブル(:h i_CTRL-X_CTRL-Z
)またはdigarphs(:h i_CTRL-X_CTRL_G
)の名前または値を使用した文字の補完
プラグインの使用方法の詳細については、ヘルプを参照してください。
定義済みのダイグラフ(:dig
リストを取得するために実行)の使用に加えて、vimで独自のダイグラフを定義することもできます。
:digr e: 235 a: 228
一般的に使用される文字、:digraph
または前述のComposeキーなどの外部手段には最適です。めったに使用されないものについては、次のように略語を定義します。
norea <unique> unicode_smiley 😃
norea <unique> unicode_skull ☠
そして、私のSnippetCompleteプラグインを使用して、そのようなすべての略語をリストするポップアップメニューを取得します。unicode_<C-x>]