Vim documentation: farsi
*farsi.txt* For Vim version 8.0. 最近更新: 2017年7月
VIM 参考手册 by Mortaza Ghassab Shiran
译者: Willis
http://vimcdoc.sf.net
从右到左的显示和 Vim 的波斯语映射 *farsi* *Farsi*
{Vi 没有任何这里的功能}
*E27*
要使用从由右到左和波斯语的映射支持,要在编译 Vim 时加入 |+farsi| 特性。
这些功能是 Mortaza G. Shiran <shiran@jps.net> 开发的。
简介
------------
从右到左的文件要求显示的时候从右到左。在书写波斯语的文档、传真或备忘录的时候,
这类型的文件很有用。
命令、提示和帮助文件不是用波斯语书写的,所以用户界面保持和标准 Vi 的界面一致。
特色
----------
o 就像原有的 Vim 一样,编辑从左到右的文件。
o 和从右到左两种模式下同时察看同一个文件。(这有助于编辑混合两种文字的文件)。
o 和原有的 Vim 兼容。几乎所有的功能都支持从右到左的模式 (参看下面的漏洞)。
o 单个命令就可以改变键盘映射和反向插入模式。
o 从反向的插入模式退回到文件里正确的位置 (如果可能的话)。
o 在波斯语模式,数字的输入是从左到右的。在输入一个非数字的字符时,它会插在最
后一个数字的左面。
o 不需要终端对从右到左能力的特别支持。这项改动完全独立于硬件。
o 在命令行的反向插入模式里,提供波斯语的映射。
o 通过 F8 键,切换从左到右和从右到左的模式。
o 通过 F9 键,切换波斯语 ISIR-3342 标准编码和 Vim 波斯编码。因为这只对从右到
左的文本有意义,所以也只有从右到左模式支持这项功能。
波斯字体 *farsi-fonts*
-----------
在 "$VIM/farsi/fonts" 子目录下可以找到以下文件:
+ far-a01.pcf Unix 包括 Linux 的 X Windows 字体
+ far-a01.bf SunOS 用的 X Windows 字体
+ far-a01.f16 Unix 包括 Linux 系统用的屏幕字体
+ far-a01.fon Windows NT/95/98 用的等宽字体
+ far-a01.com DOS 用的屏幕字体
字体安装
-----------------
o MS Window 系统 (NT/95/98) 的字体安装
从 '控制面板' 文件夹中打开 '字体' 程序。然后从 '文件' 菜单里选择
'安装新字体...'。找到 'far-a01.fon' 并选中,然后按照安装指导操作。
注意: 有些人报告说这样做不成功。对此,我们现在没有解决方法。
o X Windows 系统 (Unix/Linux) 的字体安装
根据你的系统,把 far-a01.pcf.Z 或者 far-a01.pcf.gz 复制到你选择的一个目录。
进入这个包含波斯字体的目录,然后执行以下命令: >
> mkfontdir
> xset +fp path_name_of_farsi_fonts_directory
o X Windows 系统 (SunOS) 的字体安装
把 far-a01.bf 字体复制到你选择的一个目录。进入这个包含 far-a01.fb 字体的目
录,然后执行以下命令: >
> fldfamily
> xset +fp path_name_of_fonts_directory
o 安装 ASCII 屏幕字体 (Unix/Linux)
Linux 系统下,把 far-a01.f16 字体复制到 /usr/lib/kbd/consolefonts 目录然后
执行 setfont 程序 "setfont far-a01.f16"。对其他系统 (比如 SCO Unix),请参考
你系统的管理手册的字体安装章节。
o 安装 ASCII 屏幕字体 (DOS)
系统启动后,在第一次使用 Vim 之前,用 far-a01.com 字体上传程序来上传波斯字
体。
使用方法
-----
在启动 Vim 之前,应该先设置能够让 Vim 运行在波斯模式的环境。除了设置波斯字体以
外,以下还有应该设置的一些系统环境: 键盘码映射,将图形卡转入 ASCII 屏幕模式,
把 IO 驱动设成 8 位 clean 模式,等等。
o 设置波斯字体
+ Vim GUI 上把 'guifont' 设成 far-a01。这可以通过在 Vim 窗口下输入
':set guifont=far-a01' 来完成。
把这行加入你的 .vimrc 文件 (在 NT/95/98 平台下用 _vimrc),你就可以在 Vim
启动时完成这项设置。
在 X Window 环境下,你也可以在启动 Vim 时加入 "-fn far-a01" 选项。
+ 对于执行在 xterm 下面的 Vim,用波斯字体打开一个 xterm (例如, kterm -fn
far-a01), 然后在 kterm 里面启动 Vim。
+ 执行在 DOS 上的 Vim,在第一次执行 Vim 之间,执行 far-a01.com 字体上传程
序可以上传波斯字体。
o 激活波斯语键盘映射
要激活波斯语的键盘映射,可以置位 'altkeymap' 或者 'fkmap'。这可以通过在 Vim
窗口下输入 'set alm' 或者 'set fk' 来完成。把这些行加入你的 .vimrc 文件 (在
NT/95/98 平台下用 _vimrc),你就可以在 Vim 启动时完成这些设置。
要使用缺省的第二语言,你可以通过键入 ':set noakm' 复位 'altkeyamap',从而关
闭波斯语的键盘映射。
o 从右到左的波斯语模式
缺省的 Vim 以左到右的模式启动。以下是若干改变窗口朝向的途径:
+ 启动 Vim 时加入参数 -F (例如 vim -F ... )。
+ 用 F8 键切换从左到右和从右到左的模式。
+ 在从左到右的模式时,在命令行上键入 'set rl' ('rl' 是从右到左的英文缩写)。
+ 在你的 '.vimrc' 文件里放上 'set rl',就可以一劳永逸地确保以从右到左的模式
启动 Vim。
编码
--------
这里使用的字母编码是 Vim 扩展 ISIR-3342 标准,还提供了一个内置函数,用于 Vim
扩展 ISIR-3342 和标准的 ISIR-3342 标准之间的转换。
为了文档兼容,在不同的平台上 (例如 UNIX,NT/95/98,MS DOS 等等) 的字母编码保持
一致。
o 键盘设置
+ CTRL-_ 插入/替换模式下,切换波斯 (akm) 和拉丁语系模式。
+ CTRL-_ 在编辑模式下,把光标移到输入文本的末尾。
+ CTRL-_ 在命令行模式下,切换波斯 (akm) 和拉丁语系模式。这时,波斯文本就可
以在反向插入方式下输入。
+ F8 - 切换从右到左和从左到右的模式。
+ F9 - 切换 ISIR-3342 编码和 Vim 扩展 ISIR-3342 编码 (只有在从右到左的模式
下才支持)。
+ 键盘映射基于伊朗 ISIRI-2901 标准。
以下的对应表显示了波斯 (akm) 模式下的键盘对应:
-------------------------------------
` 1 2 3 4 5 6 7 8 9 0 - =
¢ ± ² ³ ´ µ ¶ · ¸ ¹ ° ½
-------------------------------------
~ ! @ # $ % ^ & * ( ) _ +
~ £ § ® ¤ ¥ ª ¬ è ¨ © é «
-------------------------------------
q w e r t z u i o p [ ]
Ó Ò Æ Ù Ø Õ Ö à Ê É Ç <88>
-------------------------------------
Q W E R T Z U I O P { }
÷ õ ô ó ò ý ð ö [ ] { }
-------------------------------------
a s d f g h j k l ; ' \
Ñ Ð á Ã Ü Á Å Þ Ý Ú Û ë
-------------------------------------
A S D F G H J K L : " |
ù û þ ú ø À ü æ ç º » ê
-------------------------------------
< y x c v b n m , . /
¾ × Ô Î Í Ì Ë Ä ß ¦ ¯
-------------------------------------
> Y X C V B N M < > ?
¼ ñ Ô Ï Í ¡ Ë Â ¾ ¼ ¿
-------------------------------------
注意:
¡ 代表波斯 PSP (不以空白分离)
¢ 代表波斯 PCN (用于 HAMZE 属性)
限制
------------
o 插入/替换模式 (波斯模式) 下不支持 CTRL-B。
o 如果你切换拉丁/波斯的键盘对应,重复缓冲区会被清空。也就是说,只有在同一模式
下你才可以应用重复命令 ('.')。
o 在波斯模式下输入数字时,重复缓冲区也会被清空。也就是说,输入数字以后你不能
重复上一次的改变。
o 从左到右的波斯模式下不支持 CTRL-R。
o 从右到左的模式下,拉丁语系的模式搜索不会成功,除非你反过来输。
o 在命令模式下,不支持从左到右方式的数字输入,也因为要支持最大限度的灵活性,
键盘映射的逻辑也只能受到限制。
o 在 X Window 环境上,如果你想要在 xterm 终端模拟和波斯模式下运行 Vim,你一定
要有 ANSI 兼容的终端环境,这是因为在标准的 xterm 终端模拟环境里,超过十进制
128 的字母有特定的含义。
注意: 在 X Window 环境上,Vim GUI 对波斯模式的支持没有这样的限制。所以其实
没有必要用 xterm 终端模拟来运行。
漏洞
----
在插入/替换模式下如果打开波斯模式,如果你不断的改变光标位置 (通过光标移动),然
后输入新的文本,再试图撤销最近的更新,撤销操作会出现一个改变的延迟。不过如果你
继续撤销下去,最终还是能回到原始的文本状态。你也可以用 U 来撤销当前行里的所有
改变。
关于这个漏洞的更多信息可以在 rileft.txt 里查到。