<< Back to man.ChinaUnix.net

USR_09

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

                    Vim用户手册 - by Bram Moolenaar
                译者:Nek_in http://vimcdoc.sf.net

                          使用 GUI 版本


Vim 能在一般的终端中很好得工作。GVim 则可以完成相同,甚至更多的功能。Gvim
能提供菜单,工具条,滚动条和其它东西。本章介绍这些额外的功能。

|09.1|  GUI 版本的组件
|09.2|  使用鼠标
|09.3|  剪贴板
|09.4|  选择模式

     下一章:|usr_10.txt|  做大修改
     前一章:|usr_08.txt|  分割窗口
       目录:|usr_toc.txt|


*09.1*  GUI 版本的组件

你可以在你的桌面上放一个启动 gVim 的图标。此外,下面的任一个命令也可以启动
gVim:

        gvim file.txt
        vim -g file.txt

如果这样不行,可能是因为你的 Vim 不支持 GUI 版本特性。你需要先安装一个合适的
版本。
    执行命令后,Vim 会打开一个窗口,并显示文件 "file.txt"。窗口的样子取决于
Vim 的版本。一般是下面这个样子 (近可能地用 ASCII 码展示):

        +----------------------------------------------------+
        | file.txt + (~/dir) - VIM                         X |  <- window title
        +----------------------------------------------------+
        | File  Edit  Tools  Syntax  Buffers  Window  Help   |  <- menubar
        +----------------------------------------------------+
        | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |  <- toolbar
        | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |
        +----------------------------------------------------+
        | file text                                      | ^ |
        | ~                                              | # |
        | ~                                              | # |  <- scrollbar
        | ~                                              | # |
        | ~                                              | # |
        | ~                                              | # |
        |                                                | V |
        +----------------------------------------------------+

最大的一片空间是文件的内容。这部分与终端上看到的是一样的,只是颜色和字体可能有一
点差别。


窗 口 标 题

窗口最顶上是窗口标题。这由你的窗口系统绘制。Vim 会在这个标题上显示当前文件的
相关信息。首先显示的是文件名,然后是一个特殊字符,最后是用括号括住的目录名。
下面的是这些特殊字符的含义:

        -       文件不能被修改(例如帮助文件)
        +       已经被修改过
        =       文件只读
        =+      文件只读,但仍被修改过

如果没有显示任何特殊字符,表示这是一个普通的,没有改过的文件。


菜 单 条

你知道菜单是怎么工作的,是吧? Vim 有些通用的菜单,外加一些特别的。逐个看看,
猜测一下这些菜单都可以用来干什么。另一个相关的子菜单是 Edit/Global,你可以
在那里找到这些菜单项:

        Toggle Toolbar          使工具条可见/不可见
        Toggle Bottom Scrollbar 使底部的滚动条可见/不可见
        Toggle Left Scrollbar   使左边的滚动条可见/不可见
        Toggle Right Scrollbar  使右边的滚动条可见/不可见

在大多数系统里,你可以把菜单 "撕下来"。选中菜单最上面的菜单条,就是那个看起来
象条虚线的。这样你可以得到一个分离的菜单,里面包括了所有菜单项。它会一直挂在那
里,直到你关闭它。


工 具 条

这里包括使用最频繁的操作的图标。希望这些图标功能显而易见。另外,每个图标都支
持 "工具提示"(把鼠标移上去停一会儿就能看见这个提示)

"Edit/Global Settings/Toggle Toolbar" 菜单项可以关闭工具条。如果你从来都不使
用工具条,可以在 vimrc 文件中加上:

        :set guioptions-=T

这个命令从 'guioptions' 中删除 "T" 标记。其它 GUI 部件也可以通过这种方法激活
或关闭。参见这个选项的相关帮助。


滚 动 条

默认情况下,右边会有一个滚动条,它的作用是很明显的。当你分割窗口的时候,每个
窗口都会有自己的滚动条。
    你可以通过 "Edit/Global Settings/Toggle Bottom Scrollbar" 来启动一个水平
滚动条。这在比较模式或没有设置 'wrap' 时非常有用(后面有更多描述)。

在使用垂直分割的时候,只有右边的窗口有滚动条,但当你把光标移到左边的窗口上,
右边的滚动条会对这个窗口起作用,这需要一些时间去适应。
    当你使用垂直分割的时候,可以考虑把滚动条放在左边。这可以通过菜单激活,
或者使用 'guioptions' 选项:

        :set guioptions+=l

这是在 'guioptions' 中增加 'l' 标记。


*09.2*  使用鼠标

标准是好东西。在微软的 Windows 操作系统中,你可以用标准模式选中文本。X Windows
也有一套使用鼠标的标准。非常不幸,这两套标准是不同的。
    幸运的是,你可以定制 Vim。你可以让你的鼠标行为象X Windows或者象微软Windows
的鼠标。下面的命令使鼠标用起来象X Windows:

        :behave xterm

而如下命令使鼠标用起来象微软 Windows:

        :behave mswin

在 UNIX 操作系统中,默认的鼠标行为是 xterm。而默认的微软 Windows 系统的鼠标
行为是在安装的时候选定的。要了解这两种行为的详细信息,请参考 |:behave| 。
下面是一些摘要:

XTERM 鼠 标 行 为

左键单击            定位光标
左键拖动            在可视模式下选中文本
中键单击            从剪贴板中粘贴文本
右键单击            把选中的文本扩展到当前的光标位置


微软 Windows 鼠标行为

左键单击            定位光标
左键拖动            在选择模式下选中文本(参见 |09.4|)
按住Shift,左键单击     把选中的文本扩展到当前的光标位置
中键单击            从剪贴板中粘贴文本
右键单击            显示一个弹出式菜单


鼠标可以被进一步定制。请参见下面的选项:

        'mouse'         鼠标的使用模式
        'mousemodel'    鼠标单击的效果
        'mousetime'     双击的间隔允许时间
        'mousehide'     输入的时候隐藏鼠标
        'selectmode'    鼠标启动可视模式还是选择模式


*09.3*  剪贴板

|04.7| 节已经介绍过剪贴板的基本使用了。这里有一个重要的地方要解释一下:对于
X-windows 系统,有两个地方可以在程序间交换文本,而 MS-Windows 不是这样的。

在 X-Windows,有一个 "当前选中" 的概念。它表示正被选中的文本。在 Vim 中,这表示
可视区(假定你正使用默认的设置)。不需要任何其它操作,你就可以把这些文本贴到别
的程序中。
    例如,你用鼠标在本文中选中一些文本。Vim 会自动切换到可视模式,并加亮这些
文本。现在启动另一个 gVim,(由于没有指定文件名,它会显示出一个空窗口)。点击
鼠标中键。被选中的文本就会被贴进来。
    "当前选中" 会一直保持有效直到你选中其它文本。在另一个窗口中粘贴文本后,
在这个窗口中选中一些文字,你会发现上一个窗口中选中的文字显示的方法跟原来有
些区别了,这表示这些文字已经不是 "当前选中" 了。

你不一定要用鼠标来选中文字,用键盘的 "可视" 命令也能达到相同的效果。

"真" 剪 贴 板

对于另一个交换文本的地方,我们称之为"真"剪贴板以避免与上面的的 "当前选中"
混淆。通常 "当前选中" 和 "真" 剪贴板都称为剪贴板,你需要习惯这些名称。
    要把文字拷贝到真剪贴板,在一个 gVim 中选中一些文本,然后执行菜单命令 Edit/
Copy。这样文字就被拷贝到真剪贴板了。剪贴板的内容是不可见的,除非你使用特别的
显示程序,例如 KDE 的 klipper 程序。
   现在,切换到另一个 gVim,把光标停在某个位置,然后执行菜单命令 Eidt/Paste
菜单。你会看到真剪贴板中的内容被插入到当前的光标位置。


使 用 两 种 剪 贴 板

这种同时使用 "当前选中" 和 "真剪贴板" 的操作方式听起来很乱。但这是很有用的。
我们通过一个例子来说明。用 gVim 打开一个文件并执行如下命令:

- 在可视模式下选中两个词
- 使用 Edit/Copy 菜单把这些词拷到剪贴板
- 再用可视模式选中另一个词
- 执行 Edit/Paste 菜单命令。这样第二次选中的词会被前面剪贴板中的词代替。
- 把鼠标移到另一个地方按中键,你会发现你刚被覆盖的单词被粘贴到新的位置。

如果你小心使用 "当前选中" 和 "真剪贴板" 两个工具,你可以完成很多很有用的工作。


使 用 键 盘

如果你不喜欢使用鼠标,你可以通过两个寄存器来使用 "当前选中" 和 "真剪贴板" 两
个剪贴板。"* 寄存器用于表示当前选中。
   要使文本变成 "当前选中",只要使用可视模式即可。例如,要选中一整行只要输入
"V"。
    要拷贝当前选中的内容:

        "*P

注意这里 "P" 是大写,表示把文字拷贝到光标的前面。

"+ 寄存器用于真剪贴板。例如,要把当前光标位置到行末的文本拷到真剪贴板:

        "+y$

记得吧,"y" 是 yank,这是 Vim 的拷贝命令。
    要把真剪贴板的内容拷到光标前面:

        "+P

这与 "当前选中" 一样,只是用 (+) 寄存器取代了 (*) 寄存器。


*09.4*  选择模式

现在介绍一些在 MS-Windows 中比在 X-Windows 中更常被使用的东西(但在两个系统上
都有效)。你已经了解可视模式了。选择模式与可视模式相似,也是用来选中文字的。
但有一个显著区别:当输入文本的时候,在选则模式下,被选中的文字将被替换成新输
入的文字。

要启用选中模式,先要激活它(对于MS-Windows,可能已经激活了,不过多做一次也没
什么):

        :set selectmode+=mouse

现在用鼠标选中一些文本,这些文本会好像可视模式一样被加亮。现在敲入一个字母。
被选中的文本被删除,替换成新的字母。现在已经是插入模式了,你可以继续输入。

由于输入普通文本导致选中的文字被删除掉,这时你不能使用 "hjkl","w" 等移动命
令。这时可以使用 "Shifted" 加功能键。<S-Left>(shift 键加左箭头)可以把光标
左移。选中的文字象可视模式一样被扩展或者减少。右箭头起的作用你可以猜到了,
<S-End><S-Home>也一样。

你可以通过 'selectmode' 选项修改选择模式的工作方式。


下一章:|usr_10.txt|  作大修改

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

Generated by vim2html on Wed Mar 2 23:07:51 GMT 2005