Rileft
Nvim :help
頁面,由 生成,原始碼來自 這裡,並使用 tree-sitter-vimdoc 解析器。
由 Nadim Shaikli 更新
Vim 的由右至左顯示模式
簡介
某些語言,例如阿拉伯語、波斯語、希伯來語(以及其他語言)需要能夠由右至左顯示文字。這些語言的檔案會以傳統方式儲存,而由右至左的要求僅是顯示引擎的功能(根據 Unicode 規範)。在由右至左導向的檔案中,字元會在螢幕上由右至左顯示。
雙向性(或簡稱 bidi)是 Unicode 為這些語言提供的完整解決方案。Bidi 讓使用者能夠在同一個視窗中同時正確檢視由右至左和由左至右的文字。目前 Vim 為了簡化,不提供 bidi,僅選擇呈現一種功能性方法來顯示/輸入/使用由右至左的語言。一種較舊的混合解決方案,其中每個字元(或字元群組)的方向都會編碼,也不受支援,因為這種支援超出對現有編輯器進行簡單新增的範圍(而且 Unicode 也沒有認可)。
重點
o 像原始 Vim 一樣編輯由左至右的檔案,沒有任何改變。
o 在由右至左視窗中檢視和編輯檔案。檔案方向是每個視窗各自設定,因此可以同時在由右至左和由左至右模式下檢視同一個檔案。(對於編輯同時包含由右至左和由左至右文字的混合檔案很有用)。
o 與原始 Vim 相容。幾乎所有功能都可以在由右至左模式下使用(請參閱下方的「錯誤」)。
o 從反向插入模式返回檔案中的正確位置(如果可能)。
o 不需要具有由右至左功能的特殊終端機。由右至左的變更完全獨立於硬體。
感興趣之處...
o 呼叫方式
除了使用完整的
'rightleft' 選項外,也可以選擇反向插入。當設定
'revins'(反向插入)選項時,插入會反向進行。這可用於輸入由右至左的文字。當插入字元時,游標不會移動,文字會向右移動。
<BS>
會刪除游標下的字元。
CTRL-W
和
CTRL-U
也會以相反的方向運作。
<BS>
、
CTRL-W
和
CTRL-U
不會停止於插入開始處或行尾,無論
'backspace' 選項如何設定。
目前沒有反向取代模式。
如果設定了
'showmode' 選項,則當反向插入模式啟用時,狀態列中會顯示 "-- REVERSE INSERT --"。
o 在由右至左視窗中貼上
當使用滑鼠剪下文字並將其貼上到由右至左視窗時,文字會反向,因為字元是從剪貼簿中由左至右傳來的,而在檔案中則是由右至左插入。為了避免這種情況,請在貼上之前切換
'revins'。
錯誤
o 在由右至左視窗中,無法正確處理 CTRL-A
和 CTRL-X
指令(加和減)。
o 不支援命令列上的反向插入和由右至左模式。不過,編輯器的功能沒有減少,因為可以從命令列上由左至右輸入對應、縮寫和搜尋。
o 在由右至左模式下速度會稍微慢一些,因為由右至左的移動是在 Vim 內部模擬的,而不是由控制終端機模擬。
o 沒有完整的雙向性 (bidi) 支援。