*farsi.txt*     For Vim version 7.3.  最近更新: 2010年8月


		  VIM 参考手册    作者: 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  [  ]
	Ó  Ò  Æ  Ù  Ø  Õ  Ö  à  Ê  É  Ç  
	-------------------------------------
	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 里查到。

 vim:tw=78:ts=8:ft=help:norl:
