*arabic.txt* For
Vim バージョン 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
アラビア語サポート (オプション & マッピング)
*Arabic*
{Vi にはこれらのコマンドはない}
*E800*
right-to-left (右横書き) とアラビア語マッピングを使用するには、Vim を
|+arabic| 機能付きでコンパイルする必要があります。
これらの機能は Nadim Shaikli <nadim-at-arabeyes.org> によって作成されました。
このファイルは GUI の Vim で以下の設定をして表示するのが最適です:
はじめに
--------
アラビア語はいくつかの特殊な機能を必要とする言語です。文字は右から左へ向かうの
でスクリーン上でもそのように表示する必要があります (つまり右から左へ表示す
る)。アラビア語は文字変形 (shaping) も必要とします。文字を書く位置によって同じ
文字でも別の字形になります (単語の最初、中、最後、または単独で書くかで変わ
る)。アラビア語は二種類の文字合成も必要とします。場合によっては、一つの文字に
他の文字を最大二つまで重ねる (合成、composing) か、二つの文字を一つの文字に置
換する (結合、combining) かします。
アラビア語を適切に表示するには ISO-8859-6 (U+0600-U+06FF) のフォントに加えて
Presentation Form-B (U+FE70-U+FEFF) のフォントも必要です。これらはいわゆる
ISO-10646-1 フォントのサブセットです。
コマンド、プロンプト、ヘルプファイルはアラビア語にはなりません。したがってユー
ザーインターフェースは標準の Vi インターフェースのままです。
特徴
-----
o left-to-right ファイルの編集はオリジナルの VIM と変わりません。
o right-to-left ウィンドウでのファイルの表示と編集。表示方向はウィンドウ単位
なので、同じファイルを right-to-left と left-to-right で同時に表示できま
す。
o right-to-left のための特殊な端末を必要としない。
right-to-left の機能はハードウェアに依存していません。必要なのはアラビア語
フォントだけです。
o オリジナルの VIM との互換性。ほとんどの機能は right-to-left モードでも機能
します (バグになりやすい)
o キーボードマッピングと反転挿入モード (reverse insert mode) を一つのコマンド
で切り替える。
o アラビア語サポートを一つのコマンドで切り替える。
o アラビア語モードでは数字は左から右へ入力されます。その後で数字以外の文字を
入力すると、その文字は数字の一番左側に挿入されます。
o 反転挿入モードでのコマンドラインのアラビア語キーマッピング。
o 正式な双方向機能は VIM を双方向対応端末エミュレータ上で実行すれば利用可能で
す。
アラビア語フォント
*arabicfonts*
------------------
VIM は固定幅フォントを使います。アラビア語には ISO-8859-6 と Presentation
Form-B のフォントが必要です (Form-B 無しではアラビア語は使用できない)。フォン
トを探す際にはいわゆる 'ISO-10646-1' フォントを探してください。インターネット
を検索するか
www.arabeyes.org を見て必要なアラビア語フォントを手に入れてくださ
い。
フォントのインストール
----------------------
o X ウィンドウシステム (Unix/Linux) でのフォントのインストール
システムによって違いますが、アラビア語フォントのファイルを適当なディレクト
リにコピーします。そのアラビア語フォントをコピーしたディレクトリに移動して
次のコマンドを実行します:
% mkfontdir
% xset +fp path_name_of_arabic_fonts_directory
使用方法
--------
実際に Vim でアラビア語を使用する前に、しなければならない設定がいくつかありま
す。
o アラビア語フォントを設定する
+ VIM GUI で
'guifont' をアラビア語フォントに設定します。VIM ウィンドウで
次のように入力します。
NOTE: 'your_ARABIC_FONT' の部分には Linux/Unix システムで使用されている
実際のフォント名を入れてください。
(例: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1)
'guifont' の設定を .vimrc ファイルに書くこともできます。言い換えると、
':set guifont=your_ARABIC_FONT' を .vimrc ファイルに書くことができます。
+ X ウィンドウ環境では、'-fn your_ARABIC_FONT' を VIM の起動引数に指定する
方法もあります。
o 適切なエンコーディングを設定する
アラビア語に適したエンコーディングを設定するには次のコマンドを .vimrc ファ
イルに追加します。
(このコマンドを VIM ウィンドウで直接実行しないでください)
簡単に言えば ':set encoding=utf-8' を .vimrc ファイルに書くだけです。
アラビア語を UTF-8 以外のエンコーディングで使用すると次の警告メッセージが表
示されます。
*W17*
o アラビア語設定の有効化 [近道]
手っ取り早く設定するには、コマンドラインから次のようにして VIM を起動する
か、
% vim -A my_utf8_arabic_file ...
または VIM の中で次のコマンドを実行して
'arabic' を有効にします
これが最も簡単な方法です。
'termbidi' が有効化されていなければ、次の設定が実
行されます:
1. 適切なキーマップを設定する
2. 合成文字を一度で削除できるようにする
3. rightleft モードを有効にする
4. rightleftcmd モードを有効にする (コマンドラインに作用する)
5. arabicshape モードを有効にする (表示文字を変更する)
.vimrc ファイルに ':set arabic' を書いておくこともできます。
次のコマンドでアラビア語サポートを無効化できます
コマンドによって有効にされた設定がすべてリセットされます。他のバッファに影
響があるようなグローバル設定は変更されません。
簡単に言えば
'noarabic' コマンドによって次の設定が実行されます:
1. キーマップ切替をリセットする
2. 合成文字を一度で削除できる機能を無効化にする
3. rightleft モードを無効化する
NOTE:
'arabic' コマンドは
'termbidi' を見て端末が双方向テキスト
(bi-directional, bidi) をサポートしているかどうかを考慮します (例えば
"mlterm" がサポートしています)。
'termbidi' が利用できる場合は、rightleft のサポートが優れているそちら
の使用をお勧めします。
'termbidi' が有効な場合は
'arabic' はキーマップのみ設定します。
もし、冗長で明示的な方法が好きで、
'arabic' コマンドを使って近道をしたくない
という場合は、以下の説明を読んでください (':set arabic' を使用する方はこの
節は飛ばして構いません)。
+ アラビア語キーマッピングの有効化
アラビア語キーマップを有効可するには (つまり English/Latin キーボードを
標準のアラビア語キーボードのようにするには)、
'keymap' コマンドを
"arabic" に設定します。VIM ウィンドウで次のように入力します
'keymap' 設定コマンドを .vimrc ファイルに書くこともできます。言い換えれ
ば、.vimrc ファイルに ":set keymap=arabic' を含めることができます。
アラビア語のキーマッピングとデフォルト (English) のキーマッピングを切り
替えるには、インサートモード (または追加/置換モード) で '
CTRL-^' キーを
押します。コマンドラインのモード表示の隣に "Arabic" の文字列が表示され
(例: -- INSERT Arabic --)、それが現在のキーマップを示します。
+ 合成文字の削除
初期設定では
'delcombine' オプションは無効化されています。このオプション
は LAM_ALEF (LAA) 合成文字内の ALEF を削除し、LAM だけを残すことを可能に
します (つまり合成文字を解除して元の字形に戻す。これは harakat とその合
成字形にも関係する)。このオプションを有効化するには VIM ウィンドウで次の
ように入力します
'delcombine' の設定コマンドを .vimrc ファイルに書くこともできます。言い
換えれば、.vimrc ファイルに ":set delcombine' を含めることができます。
+ アラビア語 right-to-left モード
初期設定では VIM は left-to-right モードで起動します。
'rightleft' を設定
することでウィンドウの方向を変更できます。使用方法は次のとおり。
- left-to-right モードと right-to-left モードの切り替えは ':set
rightleft' と ':set norightleft' でできます。
- left-to-right モードでは、':set rl' コマンドを実行します
(
'rl' は rightleft の省略形)。
- Vim を起動したときに常に right-to-left モードにしたい場合は '.vimrc'
ファイルに ':set rl' を書いてください。
+ アラビア語 right-to-left コマンドラインモード
特定のコマンドでは right-to-left モードで編集ができます。現在対応してい
るのは検索コマンドだけです。
動作は
'rightleftcmd' オプションで変更できます。初期設定は "search" で、
これは
'rightleft' がオンになっているウィンドウで検索コマンドを使うと
right-left モードでの編集になります。これを無効化するには次のようにしま
す。
再び検索コマンドでの right-left 編集を有効化するには次のようにします。
+ アラビア語字形モード
アラビア語は視覚字形変更 (shaping(文字変形), composing(合成),
combining(結合)) を必要としますが、それを有効にするには
'arabicshape' を
設定します。VIM ウィンドウで次のコマンドを実行します。
.vimrc ファイルで
'arabicshape' を設定することもできます。その場合は
':set arabicshape' を .vimrc ファイルに書きます。
Keymap/Keyboard
*arabickeymap*
---------------
VIM で使用する文字エンコーディングは標準の UTF-8 です。
他のエンコーディングの使用は推奨されていません。
Note: UTF-8 はあらゆるものを含むエンコーディングで、アラビア語において唯一サ
ポートされている (そして推奨されている) エンコーディングです (他のプロプ
ライエタリなエンコーディングは非推奨であり使うべきではありません)。
o キーボード
+ インサートモードと置換モードでは
CTRL-^ でアラビア語モードとラテン語モー
ドが切り替わります。
+ キーボードマッピングはマイクロソフトのアラビア語キーマップに基づいていま
す (アラビア語圏のデファクトスタンダードです):
+---------------------------------------------------------------------+
|! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ |
|1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\ |` ذ |
+---------------------------------------------------------------------+
|Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O x |P ؛ |{ < |} > |
|q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د |
+-----------------------------------------------------------+
|A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |" |
|a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط |
+------------------------------------------------------+
|Z ~ |X ْ |C { |V } |B لآ |
N آ |M ' |< , |> . |? ؟ |
|z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ |
+-------------------------------------------------+
制限
-----
o VIM の GUI では Bi-directionality (双方向性) は正しくサポートされていません
(つまりアラビア語とラテン語を同じ行に書いたときに正しく表示されません)。
既知のバグ
----------
既知の小さなバグが一つあります。
1. LAM (U+0644) のうしろに haraka (例: Fatha (U+064E)) を入力して、そして
ALEF (U+0627) を入力したとき、文字が正しく結合されません。これは二つの文字
に挟まれた haraka が正しく表示されないために起こります。
WORK-AROUND: LAM と ALEF の間に harakats を置かないでください。
一般に、harakats と LAM+ALEF の結合文字が正しく表示されること
は期待できません (二つの文字のうしろに入力したとしてもです)。
これは表示上の問題なので、ファイルを保存するときには正しい情
報が書き込まれます。情報は失われません。
他に既知のバグはありません。
vim:tw=78:ts=8:ft=help:norl: