<< Back to man.ChinaUnix.net

USR_31

*usr_31.txt*    For Vim version 6.3.  最近更新:2005年3月

                     VIM USER MANUAL - by Bram Moolenaar
                     译者:lang2 http://vimcdoc.sf.net

                              利用 GUI


Vim 可以很好地在终端内工作,但是 GUI 也有其优点。比如:一个使用文件的命令可
以利用文件浏览器,需要作选择时可以利用对话框。使用快捷键可以更方便的使用
菜单。

|31.1|  文件浏览器
|31.2|  确认
|31.3|  菜单快捷键
|31.4|  Vim 窗口位置及大小
|31.5|  杂项

           后一章: |usr_40.txt|  创建新的命令
           前一章: |usr_30.txt|  编辑程序
             目录: |usr_toc.txt|


*31.1*  文件浏览器

在使用 File/Open... 菜单的时候你会看到一个文件浏览器。这会使你更容易找到要编辑
的文件。但是如果你想把窗口分割并编辑另一个文件呢? 没有一个菜单项是做这个的。你
当然可以现用 Window/Split 然后在用 File/Open..., 但这样适得其反。
   大多数时候你使用 Vim 都是键入命令的,同样,打开一个文件浏览器也可以。为了让
split 命令使用文件浏览器,在它前面加上 "browse" 就行了:

        :browse split

选中一个文件后 ":split" 命令就会与其一起被执行。如果你取消文件对话框就什么都不
会发生。当前窗口也不会被分割。
   你也可以指定一个文件名作为参数。这将告诉浏览器从那里开始查找文件。例如:

        :browse split /etc

文件浏览器将以 "/etc" 作为起始目录。

":browse" 命令几乎可被添加在任何打开文件的命令前。
   如果没有指定目录,Vim 会自己决定从那里开始浏览。缺省情况 Vim 会从上次同样
的目录开始。这样当你用 ":browse split" 命令并选中了一个 "/usr/local/share"
里的文件,下次你在用 ":browse" 时,浏览将从 "/usr/local/share" 开始。
   用 'browsedir' 选项可以改变浏览的启动目录。可能的选项值包括:

        last            使用上次的目录 (缺省)
        buffer          使用当前缓冲所在的目录
        current         使用当前目录

例如,当你在 "/usr" 目录内编辑文件 "/usr/local/share/readme"时,那么命令:

        :set browsedir=buffer
        :browse edit

会从 "/usr/local/share" 开始浏览,类似的:

        :set browsedir=current
        :browse edit

会从 "/usr" 开始浏览。

        备注:
        为了避免使用鼠标,多数文件浏览器提供键盘操作。这写操作因系统而异,这
        里不作解释。可能的情况下 Vim 使用系统的标准浏览器。请参阅你所用系统
        的文档。

当你不是使用 GUI 版本时,你也可以使用文件浏览窗口来选择文件。然而,":browse"
命令就无效了。参阅 |file-explorer|.


*31.2*  确认

Vim 会保护你的文件不被意外的覆盖或者其它的信息丢失。如果你要作一些可能有危险
的事,Vim 会以一个错误信息提醒你并建议在命令后加上 ! 来确认你希望进行该操作。
   为了避免重新输入一个带有 ! 的命令,你可以要求 Vim 用一个对话框来向你询问。
你就可以选择 "OK" 或 "Cancel" 来告诉 Vim 你的要求。
   例如,你正在编辑一个文件并做了一些改动。你要开始编辑另一个文件:

        :confirm edit foo.txt

Vim 会弹出一个类似下面的对话框:

        +-----------------------------------+
        |                                   |
        |   ?   Save changes to "bar.txt"?  |
        |                                   |
        |   YES   NO             CANCEL     |
        +-----------------------------------+

你可以作选择了。如果你希望保存变动,选择 "YES"。如果你想放弃变动: "NO"。如果你
想放弃编辑信文件的操作而返回来看看自己都做了那些改动用 "CANCEL"。 你会回到原来
的文件,你所做的改动也都还在。

就向 ":browse" 一样,":confirm" 命令也可以被加在多数编辑其它文件的命令之前。你
还可以把它们两个联起来用:

        :confirm browse edit

如果当前缓冲被改动的话这个命令会产生一个对话框。接着会弹出一个文件浏览起来选择
将要编辑的文件。

        备注:
        在对话框中你可以使用键盘来作选择操作。通常来说 <Tab> 键和光标键可以
        改变选项。键入 <Enter> 会确认选项。但这也跟你用的系统有关。

当你不是使用 GUI 版本的时候, ":confirm" 也是有效的。Vim 不会弹出一个对话框,而
是将询问显示在 Vim 窗口的底部并提示你键入选择。>

        :confirm edit main.c
<       Save changes to "Untitled"? 
        [Y]es, (N)o, (C)ancel:  

你可以键入单键来作出选择。不用键入 <Enter>

*31.3*  菜单快捷键

所有的 Vim 命令都是用键盘来完成的。在不知道命令名称的情况下,使用菜单会简单些。
但是你就得把手从键盘上移开去抓鼠标。
   通常菜单用键盘也可以操作。这决定于你所使用的系统,但多数情况下是这样工作的:
将 <Alt> 键和菜单项中代下划的字母连用。例如,<A-w> (<Alt> 加 w) 弹出 Window
菜单。
   在 Window 菜单下,"split" 菜单项中的 p 下面划了线。放开 <Alt> 键然后按 p 就
可以选中它了。

在用 <Alt> 键选中菜单后,你可以用光标键来在菜单内移动。<Right> 选择一个子菜单,
<Left> 关闭之。<Esc> 也用来关闭菜单。<Enter> 选中一个菜单项。

使用 <Alt> 键来操作菜单和使用 <Alt> 键的映射会出现冲突。'winaltkeys' 可以用来告
诉 Vim 如何对待 <Alt> 键。
   缺省值 "menu" 是一个明智的选择:如果该键组合是一个菜单快捷键那么就不能被作为
映射。所有其它的键都可以。
    "no" 表示不使用 <Alt> 键组合来操作菜单。这样你就必须使用鼠标。所有 <Alt> 键
组合都可以被用作键盘映射。
    "yes" 表示 Vim 会使用 <Alt> 键组合来操作菜单。另外的 <Alt> 键组合也可以用
作其它用途。


*31.4*  Vim 窗口位置及大小

要查看当前 Vim 窗口在屏幕上的位置可以用:

        :winpos

这只对 GUI 有效。输出可能是这样的:

        Window position: X 272, Y 103 

位置是以屏幕像素为单位的。你可以通过数字来将 Vim 窗口移动到别处。例如,将
其向左移动一百个像素:

        :winpos 172 103

        备注:
        报告的窗口位置和窗口被移动的位置可能会有小的出入。这是由窗口周围的边框引
        起的。边框是被窗口管理器加上的。

你可以在你的启动脚本中使用这个命令来将窗口定位到一个指定的位置。

Vim 窗口的大小是以字符数目计算的。因此它和所使用的字体的大小有关。你可以查
看当前的窗口大小:

        :set lines columns

要改变窗口大小只要改变 'lines' 和/或 'columns' 选项的值即可:

        :set lines=50
        :set columns=80

取得窗口大小的操作在终端和在 GUI 下都可以。但是设定大小在绝大多数终端里都是不
可能的。

在启动 X-Window 版本的 gvim 时你可以在命令行指定窗口的位置和大小:

        gvim -geometry {width}x{height}+{x_offset}+{y_offset}

{width}{height} 的单位是字符。{x_offset}{y_offset} 的单位是像素。例:

        gvim -geometry 80x25+100+300


*31.5*  杂项

你可以使用 gvim 来编辑一个 e-mail。在你的 e-mail 程序里你得选择 gvim 作为其编
辑程序。当你尝试这种配置的时候,你会发现行不通:邮件程序认为编辑已经结束了,可
实际上 gvim 还在运行着!
   这里的情况是由于 gvim 启动时会将自己从 shell 分离出来的缘故。如果你是从终端
启动 gvim 的话这当然没有问题,你还可以在 shell 里作其它事。但如果你的确希望等待
gvim 结束的话,你必须阻止这个分离动作。"-f" 参数就是用来做这个的:

        gvim -f file.txt

"-f" 代表前台(foreground)。这样 Vim 就会中断它启动所在的 shell,直到你编辑完毕并
退出为止。


推 迟 启 动 GUI

在 Unix 上你可以先在终端里启动 Vim。当你在一个 shell 里完成各种不同任务的时候
这很有方便。如果当你在编辑某个文件时决定你想使用 GUI,你可以这样做:

        :gui

Vim 就会打开 GUI 窗口并不再使用终端。你可以继续在终端里作其它事情。 "-f" 参数
在这里也可以用来将 GUI 放置在前台:":gui -f".


GVIM 启 动 文 件

当 gvim 启动时,它会读取 gvimrc 文件。该文件和启动 Vim 时用到的 vimrc 文件类似。
gvimrc 文件可以被用来为 GUI 设定专用的选项等。例如,你可以设定 'lines' 的值来
指定窗口的大小:

        :set lines=55

在终端里使用是没有用的,因为它的大小是固定的 (除了那些支持调整大小的 xterm)。
   Vim 在 vimrc 文件相同的地方找寻 gvimrc 文件。通常来说在 Unix 下是
"~/.gvimrc"; MS-Windows 下是 "$VIM/_gvimrc"。
   如果出于某种原因你不想使用通常的 gvimrc 文件,你可以利用 "-U" 参数来指定
另外的一个:

        gvim -U thisrc ...

这使你可以用 gvim 来做另外一类编辑。例如你可以用另外的字体大小。
   要完全跳过读取 gvimrc 文件:

        gvim -U NONE ...



下一章: |usr_40.txt| 创建新的命令

版权: 参见 |manual-copyright|  vim:tw=78:ts=8:ft=help:norl:

Generated by vim2html on Wed Mar 2 23:10:01 GMT 2005