FARSI

*farsi.txt*     For Vim version 6.4.  最近更新: 2006年2月


                  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*


如果解压 "extra" 压缩档,在 "$VIM/farsi" 子目录下可以找到以下文件:

   +  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:

Generated by vim2html on 2006年 06月 24日 星期六 00:27:59 UTC