Vim documentation: hebrew
*hebrew.txt* For Vim version 8.0. 最近更新: 2008年4月
VIM 参考手册 by Ron Aaron (and Avner Lottem)
译者: Willis
http://vimcdoc.sf.net
Vim 的希伯来语支持 (选项和映射) *hebrew*
'rightleft' 的功能是由 Avner Lottem <alottem at gmail dot com> 最早创建的。
Ron Aaron <ron at ronware dot org> 现在为支持这些功能提供帮助。
{Vi 没有这些功能}
所有这些只有在编译时加入 |+rightleft| 特性才能得到。
简介
------------
希伯来语专用的选项包括 'hkmap'、'hkmapp'、'keymap'=hebrew 和 'aleph'。
对希伯来语有用的选项包括 'delcombine'、'allowrevins'、'revins'、'rightleft'
和 'rightleftcmd'。
'rightleft' 模式反转显示的顺序,所以字符不是通常的从左到右,而是从右到左的显
示。这主要是对希伯来语和其它中东的语言有用。参阅 |rileft.txt| 去了解更多。
细节
--------------
+ 选项:
+ 'rightleft' ('rl') 把窗口朝向设为从右到左。这意味着逻辑上的文字 'ABC' 会
被显示成 'CBA'。文字将从窗口右边界开始输出,而不是左边。
+ 'hkmap' ('hk') 在插入/替换模式中把键盘映射设成希伯来方式。
+ 'aleph' ('al'),数值,保存 Aleph 的十进制代码,键盘映射用。
+ 'hkmapp' ('hkp') 把键盘映射设成 '根据读音的希伯来语'。
注意: 这三个选项 ('hkmap'、'hkmapp' 和 'aleph') 现在已经作废。你应该用
":set keymap=hebrewp" 来代替。
+ 'delcombine' ('deco'),布尔值,如果编辑 UTF-8 编码的希伯来文字,可以在一
个字符上 (带有 niqud ) 上按 'x' 来去掉 niqud 或者 te`amim。
+ 'rightleftcmd' ('rlc') 从右边开始显示用于搜索的命令行提示,这只适用于
'rightleft' 的窗口。
+ 编码:
+ Unix 上,ISO 8859-8 编码 (希伯来字母编码: 224-250)。
+ MS DOS 上,PC 编码 (希伯来字母编码: 128-154)。
这些都是缺省值,可以用 'aleph' 选项来覆盖。
+ 你应该选用 UTF8,因为它支持组合用字符 (如果不是 UTF8 编码,'deco' 什么都
不做)。
+ Vim 参数:
+ 'vim -H file' 启动希伯来文件 file 的编辑,也就是,打开 'rightleft' 和
'hkmap'。
+ 按键:
+ 'allowrevins' 选项使得 CTRL-_ 命令在插入和命令行模式下可用。
+ 插入/替换模式下的 CTRL-_ 切换 'revins' 和 'hkmap':
在从右到左的窗口里,'revins' 和 'nohkmap' 被切换,因为可能输入英语。
在从左到右的窗口里,'revins' 和 'hkmap' 被切换,因为可能输入希伯来语。
CTRL-_ 把光标移到输入文本的结尾。
+ CTRL-_ 在命令行模式下切换键盘映射 (参见下面的漏洞)。
这个设置和 'hkmap' 无关,后者只适用于插入/替换模式。
注意: 在有些键盘上,CTRL-_ 被映射成 CTRL-?。
+ 'hkmap' 设置时,键盘的映射如下 (标准以色利键盘):
q w e r t y u i o p
/ ' ק ר א ט ו ן ם פ
a s d f g h j k l ; '
ש ד ג כ ע י ח ל ך ף ,
z x c v b n m , . /
ז ס ב ה נ מ צ ת ץ .
这也是当 'keymap=hebrew' 设置时的映射方式。使用 'keymap' 的好处是它在
UTF8 下正常工作,例如,输入的字符是正确的;'hkmap' 则不然。'keymap' 键盘
也可以插入 niqud 和 te`amim。要了解具体这些映射是什么,看看 'hebrew' 等
键盘映射文件。
反向输入
如果 'revins' (反向输入) 选项被打开,插入是反向的。这可以用来输入希伯来语。这
时,输入文字时,光标不动,文本向右移动。<BS> 删除光标下的字符,CTRL-W 和
CTRL-U 工作的方向也经过反转。无论 'backspace' 选项如何设置,<BS>、CTRL-W 和
CTRL-U 并不会在插入点开始处和行尾停住。
现在 (还) 没有反向替换模式。
如果设置了 "showmode" 选项,反向插入模式激活时,状态行会显示
"-- REVERSE INSERT --"。
如果打开了 'allowrevins' 选项,CTRL-_ 也可以进入反向插入模式,而且还有一些附带
的功能: 首先,键盘映射根据窗口的朝向自动切换 - 如果在从左到右的窗口,'revins'
被用来输入希伯来文,所以键盘改变为希伯来方式 (设置 'hkmap');如果在从右到左的
窗口,'revins' 被用来输入英语,所以键盘切换成英语方式 (关闭 'hkmap')。其次,通
过 CTRL-_ 来退出 'revins' 时的光标移动到输入文字的末尾 (如果可能的话)。
在从右到左的窗口粘贴
----------------------------------
如果用鼠标剪切文本,然后在从右到左的窗口中粘贴,文本会被反向,这时因为从剪切缓
冲区里得到的字符是从左到右的,而文件中的插入操作是从右到左的。要避免这个问题,
在粘贴前切换 'revins' 选项 (通过键入 CTRL-? 或者 CTRL-_ )。
希伯来字母和 'isprint' 变量
--------------------------------------------
有时希伯来字母代码在 'isprint' 变量定义的非可显示字符的范围内。例如,在 Linux
控制台上,希伯来字体的编码从 128 开始,而缺省的 'isprint' 变量是 @,161-255。
结果就是所有的希伯来字母都被显示成 ~x。要解决这个问题,执行 >
set isprint=@,128-255