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


		  VIM 参考手册    by Thomas Leonard
				译者: Willis
				http://vimcdoc.sf.net


						*riscos* *RISCOS* *RISC-OS*
本文包含了 Vim 的 RISC OS 版本的特点。

这个 RISC OS 移植版本是一个全新的版本，不是基于旧的 "archi" 版本。

1.  文件位置			|riscos-locations|
2.  文件名改写 (munging)	|riscos-munging|
3.  命令行的使用		|riscos-commandline|
4.  桌面 (GUI) 的使用		|riscos-gui|
5.  远程的使用 (telnet)		|riscos-remote|
6.  临时文件			|riscos-temp-files|
7.  中断			|riscos-interrupt|
8.  内存使用			|riscos-memory|
9.  文件类型			|riscos-filetypes|
10. 外壳			|riscos-shell|
11. 移植新的发布版本		|riscos-porting|

如果我漏掉什么，给我发 email，我会试图修正的。事实上，即使我没有漏掉什么，也给
我发 email 吧，让我有自信自己的程序很好用！

Thomas Leonard <tal197@ecs.soton.ac.uk>

	[这些 URLs 都不能用了...]
	移植版本主页:	http://www.ecs.soton.ac.uk/~tal197/
	或者试试:	http://www.soton.ac.uk/~tal197/

==============================================================================
							*riscos-locations*
1. 文件位置

Vim 可执行文件和共享资源文件都存在 !Vim 应用程序目录里。

当 filer 第一次看到 !Vim 的时候，它会使得 *vi 和 *ex 命令成为 Vim 命令行版本的
别名 (参看 |riscos-commandline|)。

!Vim.Resources 和 !Vim.Resources2 包含标准 Vim 发布的所有文件。不过有些轻微的
修改，使其满足 ADFS 的限制；它们也包含了窗口模版等的附加文件。

用户的选择从 "Choice:*" 里读取，而保存到 "<Choices$Write>.*" 里。如果你有新的
!Boot 结构，那么这些都已经设定好了。如果没有，把 Choices$Path 设为能搜索到用户
配置文件的搜索目录列表。把 Choices$Write 设为你想存储文件的目录 (这样你就可以
记住上次会话的自己的搜索模式和位置标记)。

==============================================================================
							*riscos-munging*
2. 文件名改写 (munging)

缺省地，所有路径名改写都被关闭。所以 Vim 应该和一个正常的 RISC OS 应用一样。因
此，如果你想编辑 "doc/html"，那就可以输入 "*vi doc/html"。

只有以下情况需要改写:

- C 程序里搜索被包含的文件，因为它们的文件名总是被改写的。参看 |[I|。
  注意: 确保你使用这个命令的时候在正确的目录上 (那就是，在子目录 "c" 和 "h"
        里)。

- 用 |:so| 执行脚本
  "$VIM/" 开始的路径被这样改写:

  $VIM/syntax/help.vim  ->  Vim:syntax.help

  另外，".vim" 结尾的文件的扩展名被去掉，而且斜杠被替换成句号。

有些 tag 文件和脚本文件也许需要重新改写才能在这个移植版本中应用。

==============================================================================
							*riscos-commandline*
3. 命令行的使用

要在命令行中启动 Vim，用 "*vi" 命令 (或者要进入 |Ex-mode|，用 "*ex")。

输入 "*vi -h" 得到可用之选项。

在高彩模式里，运行命令行版本的 Vim 可能会使得滚屏很慢。切换到一个色彩低的模
式，或者用 GUI 的版本。

另外，就像一般的文本程序一样，按住 Ctrl 会更慢，而 Ctrl-Shift 甚至会使之冻结。

==============================================================================
							*riscos-gui*
4. 桌面的使用

限制:

- 左侧的滚动条不能正常工作 (右侧和底部的则没问题)。
- 如果它落在后面，滚动速度不会增加。

即使右下方没有相应的图标，你也可以通过拖拽窗口的右下角来改变窗口大小，

你还可以使用 --rows 和 --columns 参数来设定 Vim 窗口的初始大小，类似这样: >

  *Vi -g --rows 20 --columns 80

支持全局剪贴板。所以你可以选择一些文本，把它直接贴到另一个应用程序里 (只要后者
也支持剪贴板)。

点击菜单键，会得到一个和正常 RISC OS 程序类似的菜单界面。按住 Shift 再点击，则
(从全局剪贴板里) 粘贴。

把一个文件拖拽到窗口里，就会用这个文件来替换_当前的_缓冲区 (光标所在的这个，而
不是你拖到的那个)。

按住 Ctrl 再拖拽之则会在一个新的 Vim 窗口里编辑这个文件 (参看 |:sp|)。

在插入模式下，按住 Shift 再拖拽文件会插入这个文件的路径名。

:browse :w 打开一个标准的 RISC OS 保存框。
:browse :e 打开一个目录的查看器。

关于字体部分，你可以选择系统字体、描边 (outline) 字体、通过 ZapRedraw 得到的系
统字体和通过 ZapRedraw 得到的任何字体: >

  :set guifont=
<			使用 VDU 驱动得到的系统字体。支持粗体和下划线。
>
  :set guifont=Corpus.Medium
<			使用命名的描边字体。你可以使用任何字体，不过只有象
			Corpus 这样的等宽字体才能显示正确。
>
  :set guifont=Corpus.Medium:w8:h12:b:i
<			和前者一样，不过选用 8x12 点的粗体斜体字。
			如果只指定宽度和高度的中的一个，这假定两者都指定相同的
			值。如果都不指定，则假定大小为 10 点。

多谢 John Kortink，Vim 可以使用 ZapRedraw 模块了。字体可以用 "!" (或者要两倍高
度，用 "!!") 开头，就像这样: >

  :set guifont=!!
<			使用 ZapRedraw 得到的系统字体。在 StrongARM 处理器上，
			刷新能快些。不过你没法得到粗体或者斜体字。两倍高度。
>
  :set guifont=!script
<			用命名的 Zap 字体 (在 VimFont$Path 中的一个目录)。刷新
			速度和 "!!" 一样，而且你能得到一个更好看的字体。
			目前，只提供了 "man+" 和 "script" 两种字体。不过你可以
			使用任何在 VimFont$Path 里的 Zap 字体。
			Vim 会试图从命名的目录中读入字体文件 "O"、"B"、"I" 和
			"IB"。只有 "O" (正常字体) 必须存在。联结文件目前还不支
			持。

要 注意 在使用 ZapRedraw 的时候，编辑条 (译者注: 光标？) 出现在你所在字符的前
面而不是后面。另外，屏幕模式为 8 位 0 时，刷新会不正确。如果字体包括控制字符，
你可以通过改变 Vim 的 'isprint' 选项来显示它们。

如果你发现你的机器上滚动太慢，尝试一下 'scrolljump' 和 'ttyscroll' 选项。

特别的，StrongARM 用户也许会发现: >

  :set ttyscroll=0

在高彩模式会滚屏快一些。

==============================================================================
							*riscos-remote*
5. 远程的使用 (telnet)

我已经附带了一个内建的 termcap 入口，不过你可以编辑这个文件，从而可以在远程终
端上使用 Vim 的时候能够得到更多的控制编码。

尽管在我的 Acorn 上没有因特网连接，我成功地通过 loopback 连接在一个 FreeTerm
窗口里运行过 Vim。

用 "*vi -T ansi"，看起来使用没有问题。

==============================================================================
							*riscos-temp-files*
6. 临时文件

如果 Vim 崩溃了，交换文件和备份文件 (如果存在的话)，会保存在 'directory' 和
'bdir' 选项指定的目录里。缺省地，交换文件在 <Wimp$ScrapDir> (就是在 !Scrap 里
面)，而备份文件在你保存文件所在的同一目录。这样，Vim 允许你在下次编辑时，尝试
修复文件。

要看到交换文件的列表，按 <F12> 并输入 "*vi -r"。

如果你试图编辑不同的目录的两个同名文件时，Vim 不会再显示任何 ATTENTION 的警告
了。

不过，如果你试图 (在两个不同的 Vim 里) 编辑同一个文件两次，它也不会警告。当
然，在你保存文件时，它仍然会警告你修改日期已经发生了变化。

==============================================================================
							*riscos-interrupt*
7. 中断

要退出一个死循环的宏或者别的什么，在命令行版本里按住 Escape，在 GUI 版本里按下
CTRL-C。

==============================================================================
							*riscos-memory*
8. 内存使用

在 RISC OS 3.5 或以后的版本里，Vim 会动态使用区域。如果是比较老的机器，编辑
!RunTxt 和 Gvim 文件。我不知道 UnixLib 缺省做什么，所以我还是要保证安全行事。

如果没有动态区域，Vim 不会工作很好，因为它不会在运行以后改变自己的内存分配。所
以，你应该修改 "!Vim.Gvim" 和 "!Vim.!RunTxt" 来选择适合你的最佳大小。你也许需
要至少 1400K。

==============================================================================
							*riscos-filetypes*
9. 文件类型

现在，你可以为特定的文件类型指定专门的自动命令了。指定的方式是 &xxx，其中的
xxx 是文件类型。

文件类型必须以数字指定 (例如， &fff 代表文本文件)。

5.3 版本以来的系统已经有了改变。新的事件序列是:

- 读入文件。|'osfiletype'| 设为 RISC OS 的文件类型。
- 基于文件类型和路径名，Vim 试图把 |'filetype'| 设置为相应的 Vim 类型。
- 设置这个选项可能会载入语法文件和执行其他操作。
- 会用文件类型 |'osfiletype'| 保存文件。

以下例子会说明清楚一些:

  读入的文件类型	osfiletype	filetype ~
  C 代码 "c.hellow"	Text (&fff)	C
  LaTeX 文档		LaTeX (&2a8)	TeX
  Draw 文档		DrawFile (&aff)	(没有改变)

==============================================================================
							*riscos-shell*
10. 外壳

- 因为很多路径名都有感叹号，感叹号 (!) 只有在后面紧跟一个空格或者回车的时候才
  会被替代，

- 你可以在命令前附加一个 "~"，这样就不会显示它的输出结果。这也意味着你后来不需
  要再按 <Enter>，而且也不用重新刷新屏幕。{仅在 GUI 版本上才有}

==============================================================================
							*riscos-porting*
11. 移植新的 RISC OS 发布版本

下载你所需的一切:

- 得到最新的软件发布版本 (参看 www.vim.org)
- 得到运行时环境文件 (如这些帮助文件)
- 得到 RISC OS 的可执行发布版本 (如有可能)


解压:

- 新建一个 raFS 盘，并把压缩档放到这里。
- 用 gzip 解压
- 用 tar 从包里释放   (*tar xELf 50 archive/tar)


重新编译源代码:

- 建立 c、s 和 h 目录。
- 把所有的头文件放在 "h" 里。		     \
- 把所有的 C 文件放在 "c" 里。		     | 然后扔掉它们的扩展名
- 把所有的汇编文件 ("swis/s") 放在 "s" 里。  /
- 把所有 "proto" 里的文件改名到 "h" 里，就像这样:
    raFS::VimSrc.source.proto.file/pro
	  变成
    raFS::VimSrc.source.h.file_pro
- 在文件 "h.proto" 和 "c.termlib" 里，搜索并替换
    .pro"
       为
    _pro.h"
- 如果想要，建立一个简单的 Makefile 并执行 "*make -k"。
  在 Makefile 里用 "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c"。
- 在可执行的发布版本里，把可执行文件存为 !Vim.Vim。


更新运行时环境:

- 用新文件替换掉 !Vim.Resources 里旧的或者不存在的文件。
- 删除 "doc" 里除了 "tags" 以外不以 "/txt" 结尾的文件。
- 除了 "doc" 里的文件以外，删掉所有文件的扩展名。
- 编辑 "doc.tags" 文件。删除第二列的文件扩展名:
	:%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
- 删除语法文件里所有的扩展名。把它们分成两个目录，以绕开旧的 ADFS 文件系统的
  77 个入口项的限制。
- 编辑 "Vim:FileType" 使得同时能匹配 "*.c.*" 和 "*/c"，依此类推。
  也加入文件类型的检查。
- 编辑 "Vim:Menu" 并删除菜单里的所有键说明 >
	:%s/<Tab>[^ \t]*//
<
 vim:tw=78:ts=8:ft=help:norl:
