GUI_W16

*gui_w16.txt*   For Vim version 6.4.  最后更新: 2005年3月23日


                  VIM 参 考 手 册    作者:Bram Moolenaar
                                     译者: Dasn
                                     VCD主页:http://vimcdoc.sf.net


Vim 的图形用户界面                                      *gui-w16* *win16-gui*

1.启动图形界面                  |gui-start|
2.设置 Vim 为默认的编辑器       |win16-default-editor|
3.使用剪贴板                    |win16-clipboard|
4.命令行指令                    |win16-shell-win32|
5.特殊颜色                      |win16-colors|
6.Windows 对话框和浏览器        |win16-dialogs|
7.杂项                          |win16-various|

其他相关文章:
|gui.txt|       所有的 GUI 版本的通用功能
|os_msdos.txt|  DOS 和 Windows 版本的通用功能
|gui_w32.txt|   这里也有一些功能适用于 Win16 版本

{Vi 没有 Windows 图形界面}

Win16 版本的 Vim 可以在 Windows 3.1 或者更高版本的 Windows 上运行。由于没有在
Windows 3.0 上测试过,所以它也许不能在 Windows 3.0 上运行,除非你修改一下 Vim
的源代码,重新编译一次。(如果是这样还不如把你的系统升级到 Windows 3.11)

在功能上,它与 Win32 GUI 版本基本相同(包括那个平坦样式的工具条)。主要的不同
之处如下:

1) 为了节省资源和加快刷新速度,文本的字体不支持粗体和斜体。(你可以把源代码中的
MSWIN16_FASTTEXT 定义注释掉,这样就可以重新启用这一功能)
2) 没有可剪切的菜单。
3) 没有 OLE 界面。
4) 不支持长文件名(这是必然的)。
5) 工具栏上的按钮没有提示标签,取而代之的是命令行提示,有些类似于菜单的风格。
6) 一行最多容纳 32767 个字符(16 位的 DOS 版本也是如此)



1. 启动图形界面 *win16-start*

Vim 的 Win16 GUI 版本呈现给你的是一个 Windows 窗口。无论你用什么方式启动它,也 不管你是否修改了它的文件名,它总是启动一个图形界面。Vim 的 Win16 GUI 没有所谓 的 'console' 版本,但是你可以在一个 DOS 窗口中启动一个 16-bit DOS 版本的 Vim。 Vim 的 Win16 GUI 有一个额外的菜单选项:"窗口/选择字体",它会调用标准的 Windows 字体选择程序。 备注:为了获得 GDI 最大的绘图速度,粗体字和斜体字通常是 不被支持的。 设定菜单的高度对 Vim 的 Win16 GUI 版本不起作用。 *win16-maximized* 如果你想让 Vim 在启动时最大化窗口,可以把下面的命令加到你的 vimrc 或 gvimrc 文件中: au GUIEnter * simalt ~x gvim.exe 还有一个特别的版本Win32s,可以在 Windows 3.1 或 3.11 里运行。参 见|win32s| 。

2. 设置 Vim 为默认的编辑器 *win16-default-editor*

要把 Vim 设置为某一类文件的默认编辑器,可以用文件管理器的"关联"功能。 如果你通过双击用 Vim 打开一个文件,Vim 的当前目录会切换到文件所在目录。 参见 |notepad|。

3. 使用剪贴板 *win16-clipboard*

Windows 有一个剪贴板,你可以把文本从别的程序"剪"下来,放到剪贴板里,也可以把 剪贴板里的文本"粘贴"到别的程序里。在 Vim 里有多种办法完成这些操作。 这里的剪贴板与 Win32 版本完全相同:参见 |gui-clipboard|。

4. 命令行指令 *win16-shell*

Vim 用一个 DOS 窗口执行外部命令,这使得 Vim 可以运行任何 DOS 命令。这个窗口使用 _default.pif 文件中的设置。 *win16-!start* 通常 Vim 在一个命令结束之前不会继续进行下面的工作(这对 Vim 从 shell 中捕获输 出是很有用的)。如果你想让 Vim 启动一个命令后立即返回,可以这样做: :!start {command} 这可能只适用于 Windows 程序。 千万别忘了,当你切换回 Vim 的时候,一定让 Windows 3.1x 在后台运行那个你要执行 的 DOS 程序。

5. 特殊颜色 *win16-colors*

在 Win16 中,可以使用 DOS 版本中定义的颜色。参见 |dos-colors|。 另外,系统颜色也一样可以使用。它们以 Sys_XXX 的形式出现,这里 XXX 是相应的颜色 名称(对大小写不敏感),如下表所示:(更翔实的描述可以参看 Win32 手册)。 Sys_BTNFace Sys_BTNShadow Sys_ActiveBorder Sys_ActiveCaption Sys_AppWorkspace Sys_Background Sys_BTNText Sys_CaptionText Sys_GrayText Sys_Highlight Sys_HighlightText Sys_InactiveBorder Sys_InactiveCaption Sys_InactiveCaptionText Sys_Menu Sys_MenuText Sys_ScrollBar Sys_Window Sys_WindowFrame Sys_WindowText 可能最有用的值是下面这些: Sys_Window 正常窗体的背景颜色 Sys_WindowText 正常窗体的文字颜色 Sys_Highlight 加亮的背景颜色 Sys_HighlightText 加亮的文字颜色 还有一些可供使用的颜色: Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet, 参见 |rgb.txt|。

*win16-dialogs*

6. Windows 对话框和浏览器 Vim 的控制台版本在各个平台上提供的用户界面是类似的,同样 Vim 的 Win16 GUI 版本 也会用与其他平台相似的视窗组件进行操作。 对话框可以用 "confirm" 命令族调用(例如:'confirm' 选项,|:confirm| 命令和 |confirm()| 函数)这是 GUI 版本特有的,控制台版本没有这些功能。没有选项可以改 变这种状况。 6.2 文件浏览器 如果你在文件编辑命令前加上 ":browse",Vim 就会弹出一个文件选择窗口,选择现存 文件。参见|:browse|

7. 杂项 *win16-various*

*win16-printing* 菜单"文件/打印"选项使用记事本程序中的打印功能。这虽然有点别扭,但是却很方便。 当然你可以自己的打印命令。例如,你可以找一下 16 位版本的 PrintFile 。通常在 $VIMRUNTIME/menu.vim 里你可以看到它是如何工作的。 下面这条命令同样好用: :w >>prn Vim 支持许多 MS-Windows 的标准特性。一些相关的介绍可以在别的地方找到:参见 |'mouse'|, |win32-hidden-menus|。也可以看看 |:simalt| *win16-drag-n-drop* 你可以把一个或多个文件拖到 Vim 窗口里,Vim 会自动打开它们。如果你在拖动的过程 中按住 Shift 键,Vim 会把当前目录切换到第一个文件所在的目录。如果你在拖动的过 程中按住 Ctrl 键,Vim 会分割一个新窗口来打开文件。然而这些只有在当前缓冲区发生 改变后才有用(不理解,直译 译者)。 你也可以把文件目录的图标拖到 Vim 里,但是 Vim 不会打开目录里的所有文件(通常我 们也不希望它这么做),Vim 会且换到那个目录,并且打开一个新文件。 如果 Vim 碰巧处于命令行状态,被拖进来的文件和目录的名字会插入到光标所在的位置, 你可以在命令里用这些名字。在 Ex 状态下这些名字也可以用。 *win16-truetype* 建议用光栅字体,不要用 TrueType 的 fixed-pitch 字体。比如:用 Courier,而不要 用 Courier New 。这样做不仅仅是节省资源,因为 Windows 3.1x 在处理 fixed-pitch TrueType 字体时有 bug。特别是你把鼠标移动到管道字符 '|' 上时,鼠标指针的大小 会被画错,并且向后偏。这个 bug 出现在 Win3.1x GDI 里, 在 95/NT 下面没有这种情 况。 vim:tw=78:sw=4:ts=8:ft=help:norl:

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