Rileft

Nvim :help ページは、ソースからtree-sitter-vimdoc パーサーを使用して生成されています。


Nadim Shaikli によって更新されました
Vim の右から左への表示モード
これらの関数は、元々 Avner Lottem によって作成されました: メールアドレス: [email protected] 電話番号: +972-4-8307322

はじめに

アラビア語、ペルシア語、ヘブライ語(その他)など、一部の言語では、テキストを右から左に表示する必要があります。これらの言語のファイルは従来の方法で保存され、右から左への要件は、(Unicode 仕様に従って)表示エンジンの機能に過ぎません。右から左に記述されるファイルでは、文字は画面上に右から左に表示されます。
双方向性(略して bidi)は、Unicode がこれらの言語に対する完全なソリューションとして提供するものです。bidi を使用すると、同じウィンドウ内で右から左と左から右の両方のテキストを同時に正しく表示できます。Vim は現在、単純さを考慮して、bidi を提供しておらず、単に右から左に記述される言語を表示/入力/使用するための機能的な手段を提供することを選択しています。方向がすべての文字(または文字のグループ)に対してエンコードされる古いハイブリッドソリューションも、既存のエディターへの単純な追加の範囲外であるため(Unicode でも承認されていません)、サポートされていません。

ハイライト

o 元の Vim と同様に、左から右へのファイルの編集は変更ありません。
o 右から左へのウィンドウでのファイルの表示と編集。ファイルの向きはウィンドウごとであるため、同じファイルを右から左と左から右のモードで同時に表示できます。(右から左と左から右の両方のテキストが存在する混合ファイルの編集に役立ちます)。
o 元の Vim との互換性。ほとんどすべての機能は、右から左へのモードで動作します(以下のバグを参照)。
o リバース挿入モードからファイル内の正しい場所に戻る(可能な場合)。
o 右から左への機能を備えた特別な端末は必要ありません。右から左への変更は、ハードウェアから完全に独立しています。
o 多くの言語は、右から左へのサポートを使用し、必要としています。必要なキーボードマッピングと、場合によっては軽微なコード変更を含めることで、これらの言語を簡単にサポートできます。現在サポートされている言語には、arabic.txthebrew.txt などがあります。

興味深い点...

o 呼び出し
+ 'rightleft' ('rl') は、ウィンドウの向きを右から左に設定します。 + 'delcombine' ('deco')、ブール値。UTF-8 エンコードされた言語を編集する場合、前に重ねられた合成文字を削除できます(一部の言語ではこれが必要です)。 + 'rightleftcmd' ('rlc') は、特定のモード(検索など)のコマンドラインを右から左の向きでも使用されるように設定します。
o 逆方向に入力する ins-reverse
本格的な 'rightleft' オプションを使用する代わりに、逆挿入を選択できます。'revins'(逆挿入)オプションが設定されている場合、挿入は逆方向に行われます。これは、右から左にテキストを入力するために使用できます。文字を挿入すると、カーソルは移動せず、テキストは右に移動します。<BS> は、カーソル位置の文字を削除します。CTRL-WCTRL-U も逆方向に動作します。'backspace' オプションの設定方法に関係なく、<BS>CTRL-WCTRL-U は、挿入の開始位置または行末で停止しません。
リバース置換モードはありません(まだ)。
'showmode' オプションが設定されている場合、リバース挿入モードがアクティブになると、ステータスラインに "-- REVERSE INSERT --" と表示されます。
o 右から左へのウィンドウでの貼り付け
マウスでテキストを切り取り、右から左へのウィンドウに貼り付けると、文字は左から右にカットバッファから取得されるのに対し、ファイルには右から左に挿入されるため、テキストは反転されます。これを回避するには、貼り付ける前に 'revins' を切り替えます。

バグ

o 右から左へのウィンドウでは、CTRL-A および CTRL-X コマンド(加算と減算)を正しく処理しません。
o コマンドラインでは、逆挿入と右から左へのモードをサポートしていません。ただし、コマンドラインで左から右に入力されたマッピング、省略形、検索を入力できるため、エディターの機能は低下しません。
o 右から左への動きは、制御端末ではなく Vim 内部でエミュレートされるため、右から左へのモードではやや遅くなります。
o 'rightleft''revins' の両方がオンになっている場合: 'textwidth' は機能しません。行はまったく折り返されません。単一の長い行になります。
o 完全な双方向性(bidi)サポートはありません。
メイン
コマンドインデックス
クイックリファレンス