*usr_09.txt*	For Vim version 8.0.  最近更新: 2017年8月

		     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 |	<- 窗口标题
	+----------------------------------------------------+
	| File	Edit  Tools  Syntax  Buffers  Window  Help   |	<- 菜单栏
	+----------------------------------------------------+
	| aaa  bbb  ccc  ddd  eee  fff	ggg  hhh  iii  jjj   |	<- 工具栏
	| aaa  bbb  ccc  ddd  eee  fff	ggg  hhh  iii  jjj   |
	+----------------------------------------------------+
	| file text					 | ^ |
	| ~						 | # |
	| ~						 | # |	<- 滚动条
	| ~						 | # |
	| ~						 | # |
	| ~						 | # |
	|						 | 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，把光标停在某个位置，然后执行菜单命令 Edit/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" 等移动命令。
这时可以使用 "Shift" 加功能键。<S-Left> (shift 键加左箭头) 使光标左移。选中的
文字象可视模式一样被扩展或者减少。其它箭头起的作用你也可以猜到了，<S-End> 和
<S-Home> 也一样。

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

==============================================================================

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

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