アラビア語

Nvimの:helpページは、生成されたもので、ソースtree-sitter-vimdocパーサーを使って変換しています。


Vimのアラビア語サポート(オプションとマッピング)
これらの機能は、Nadim Shaikli <nadim-at-arabeyes.org>によって作成されました。
このファイルは、VIMのGUI内で以下の設定で表示するのが最適です。
:set encoding=utf-8
:set arabicshape

はじめに

アラビア語は、多くの特別な機能を必要とするかなり複雑な言語です。文字は右から左に表示され、画面上でもそのように表示される必要があります(つまり、右から左へ)。アラビア語は文字の整形も必要とします。つまり、同じ文字でも単語内の相対的な位置(語頭、語中、語尾、または単独)によって視覚的な形が変わります。アラビア語は、2つの異なる形の結合と、場合によっては、最大2つの文字を別の文字の上に重ねて表示(合成)したり、2つの文字を1つの文字に実際に置き換えたり(結合)する機能も必要とします。最後に、アラビア語を正しく表示するには、ISO-8859-6(U+0600-U+06FF)フォントだけでなく、プレゼンテーションフォーム-B(U+FE70-U+FEFF)フォントも必要です。これらはどちらも、いわゆるISO-10646-1フォントのサブセットです。
コマンド、プロンプト、ヘルプファイルはアラビア語ではないため、ユーザーインターフェースは標準のViインターフェースのままです。

ハイライト

o 元のVimと同様に、左から右に書かれたファイルの編集は変更されていません。
o 右から左に書かれたウィンドウでのファイルの表示と編集。ファイルの向きはウィンドウごとであるため、同じファイルを右から左と左から右の両方のモードで同時に表示できます。
o 右から左の機能を持つ特別な端末は必要ありません。右から左への変更は完全にハードウェアに依存しません。必要なのはアラビア語フォントのみです。
o 元のVimとの互換性があります。ほとんどすべての機能が右から左モードで動作します(バグがある可能性はあります)。
o 単一のコマンドを使用したキーボードマッピングの変更と逆挿入モードの切り替え。
o 単一のコマンドによる完全なアラビア語サポートの切り替え。
o アラビア語モードでは、数字は左から右に入力されます。数字以外の文字を入力すると、その文字は最後の数字のすぐ左に挿入されます。
o コマンドラインでのアラビア語キーマッピング(逆挿入モード)。
o VimがBidi対応の端末エミュレータ内で起動された場合、適切な双方向機能が可能です。

アラビア語フォント arabicfonts

Vimには等幅フォントが必要ですが、多くのフォントがあります。アラビア語には、ISO-8859-6とプレゼンテーションフォーム-Bフォントが必要です(フォーム-Bがないと、アラビア語は使用できません)。いわゆる「ISO-10646-1」フォントを検索することを強くお勧めします。インターネット検索をするか、www.arabeyes.orgで必要なアラビア語フォントを入手できる場所の詳細を確認してください。

フォントのインストール

o X Windowシステム(Unix/Linux)用のフォントのインストール
システムに応じて、your_ARABIC_FONTファイルを任意のディレクトリにコピーします。アラビア語フォントが含まれるディレクトリに移動し、次のコマンドを実行します。
% mkfontdir % xset +fp アラビア語フォントディレクトリのパス名

使い方

Vimでアラビア語を実際に使用する前に、いくつかの設定を考慮して呼び出す必要があります。
o アラビア語フォントの設定
+ Vim GUIの場合は、'guifont'をyour_ARABIC_FONTに設定します。これは、Vimウィンドウで次のコマンドを入力することで行います。
:set guifont=your_ARABIC_FONT
注:文字列「your_ARABIC_FONT」は、Linux/Unixシステムで使用されるものと同様の完全なフォント名を示すために使用されます。(例:-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1)
上記の同じ結果を得るために、'guifont'の設定コマンドをvimrcファイルに追加できます。つまり、vimrcファイルに「:set guifont=your_ARABIC_FONT」を含めることができます。
+ X Window環境では、「-fn your_ARABIC_FONT」オプションを指定してVimを起動することもできます。
o 適切な文字エンコーディングの設定 正しいアラビア語エンコーディングを有効にするには、次のコマンドを追加する必要があります。
:set encoding=utf-8
vimrcファイルに(Vimウィンドウに手動でコマンドを入力することは強くお勧めしません)。つまり、vimrcファイルに「:set encoding=utf-8」を含めます。
UTF-8なしでアラビア語を使用しようとすると、次の警告メッセージが表示されます。
W17
Arabic requires UTF-8, do ':set encoding=utf-8'
o アラビア語設定の有効化[ショートカット]
物事を簡略化し、効率化するために、コマンドラインオプションを使用してVimを呼び出すか、
% vim -A my_utf8_arabic_file ...
または、Vim内で次のコマンドを使用して'arabic'を有効にすることができます。
:set arabic
上記の2つの可能な呼び出し方法が、ユーザーが続行するように指示される推奨される方法です。有効になっている'termbidi'設定がない場合、両方のコマンドオプション
1. 適切なキーマップを設定する 2. 単一の結合ペア文字の削除を有効にする 3. 右から左モードを有効にする 4. rightleftcmdモード(コマンドラインに影響)を有効にする 5. arabicshapeモード(視覚的な文字の変更を行う)を有効にする
コマンドをvimrcファイルに追加し、そこに「:set arabic」を含めることもできます。
また、次を使用してアラビア語サポートを無効にすることもできます。
:set noarabic
これにより、コマンドが有効にしたものをすべてリセットしますが、他の開いている可能性のあるバッファに影響を与える可能性があるため、グローバル設定は変更しません。つまり、'noarabic'コマンドは、
1. 代替キーマップにリセットする 2. 単一の結合ペア文字の削除を無効にする 3. 右から左モードを無効にする
注:'arabic'コマンドは、端末からの双方向(bidi)サポートの可能性について'termbidi'を考慮します(たとえば、「mlterm」はこのようなサポートを提供します)。'termbidi'が利用可能な場合、右から左へのサポートよりも優れており、提供されるレベルのためにそのサポートが推奨されます。'termbidi'が有効になっている場合、'arabic'はキーマップのみを設定します。
'termbidi'を設定しながら垂直ウィンドウを分離するために、「l」または「𝖨」のようなLTR垂直区切り記号を使用できます。また、その色を前景の色に変更することで非表示にすることもできます
:set fillchars=vert:l
:hi WinSeparator ctermbg=White
これは回避策であり、適切な解決策ではないことに注意してください。
一方、冗長で明示的にしたいと思っており、'arabic'ショートカットコマンドを使用しない場合は、必要なもの(つまり、':set arabic'を使用する場合は、このセクションをスキップできます)-
+ アラビア語キーマッピングの有効化
アラビア語キーマップを有効にする(つまり、英語/ラテン語キーボードを標準のアラビア語のように見せかけるために再マッピングする)には、'keymap'コマンドを「arabic」に設定します。これは、次のように入力することで行います。
:set keymap=arabic
VIMウィンドウで。また、'keymap'の設定コマンドをvimrcファイルに追加することもできます。つまり、vimrcファイルに「:set keymap=arabic」を含めることができます。
アラビア語とデフォルトのマッピング(英語)の間でキーマッピングを切り替える(または切り替える)には、挿入(または追加/置換)モード中に「CTRL-^」キーを押すことをお勧めします。コマンドラインには、挿入モードの横に「アラビア語」という文字列(例:-- INSERT アラビア語 --)が表示され、現在のキーマップが示されます。
+ 結合ペア文字のアラビア語削除
デフォルトでは、Vimの'delcombine'オプションは無効になっています。このオプションを使用すると、LAM_ALEF(LAA)結合文字でALEFを削除しても、LAMを保持できます(つまり、結合文字を自然な2文字形式として扱うように戻ります。これは、ハラカートとその結合形式にも当てはまります)。このオプションを有効にするには、次のように入力します。
:set delcombine
VIMウィンドウで。また、'delcombine'の設定コマンドをvimrcファイルに追加することもできます。つまり、vimrcファイルに「:set delcombine」を含めることができます。
+ アラビア語の右から左モード
デフォルトでは、VIMは左から右モードで起動します。'rightleft'は、ウィンドウの向きを変更できるコマンドです。これは、次のようにして実現できます。
左から右モードと右から左モードの切り替えは、「:set rightleft」と「:set norightleft」で行います。
左から右モードの場合は、コマンドラインに「:set rl」と入力します('rl'はrightleftの略です)。
Vimを右から左モードで永続的に起動するには、vimrcファイルに「:set rl」行を追加します。
+ アラビア語の右から左コマンドラインモード
特定のコマンドでは、右から左モードで編集できます。現在、これは検索コマンドにのみ適用可能です。
これは、'rightleftcmd'オプションで制御されます。デフォルトは「search」です。これは、'rightleft'が設定されているウィンドウでは、検索コマンドが右から左モードで編集されることを意味します。この動作を無効にするには、
:set rightleftcmd=
検索コマンドの右から左への編集を再度有効にするには、
:set rightleftcmd&
+ アラビア語の整形モード
アラビア語で必要な視覚的な文字の変更(整形、合成、結合)を有効にするには、'arabicshape'コマンドを有効にします。これは、次のように入力することで行います。
:set arabicshape
VIMウィンドウで。また、'arabicshape'の設定コマンドをvimrcファイルに追加することもできます。つまり、vimrcファイルに「:set arabicshape」を含めることができます。

キーマップ/キーボード arabickeymap

Vimで使用されている文字/文字エンコーディングは、標準のUTF-8です。他のエンコーディングを使用したり、試したりすることは広く推奨されていません。
注: 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 GUI形式のVimは、現在、双方向性(つまり、同じ行にアラビア語とラテン語が混在しているのを見る機能)をサポートしていません。

既知のバグ

既知の小さなバグが1つあります。
1. LAM(U+0644)の後にハラカ(例:Fatha(U+064E))を挿入し、次にALEF(U+0627)を挿入すると、挟まれたハラカのために適切な結合が行われず、正しく表示されないものが表示されます。
回避策: LAMとALEFの組み合わせの間にはハラカトを含めないでください。一般的に、ハラカトとLAM+ALEFの結合文字(両方の文字を入力した後に入力されたものも含む)に関して、正しい視覚表現を期待しないでください。指摘された問題は純粋に視覚的なものであり、そのようなファイルを保存しても適切な情報/エンコーディングはすべて含まれており、何も失われることはありません。
他に既知のバグは存在しません。
メイン
コマンド索引
クイックリファレンス