Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7933413
  • 博文数量: 124
  • 博客积分: 2880
  • 博客等级: 少校
  • 技术积分: 873
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 17:08
文章分类

全部博文(124)

文章存档

2011年(28)

2010年(60)

2009年(36)

我的朋友

分类:

2010-04-14 11:49:14

vim窗口分割操作
 
2010年02月28日 星期日 10:28

显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文
件。这一切都可以通过分割窗口实现。

分割窗口

打开新窗口最简单的命令如下: :split 这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中: +----------------------------------+ |/* file one.c */ | |~ | |~ | |one.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+ 你可以看到显示同一个文件的两个窗口。带 "====" 的行是状态条,用来显示它上面的窗 口的信息。(在实际的屏幕上,状态条用反色显示) 这两个窗口允许你同时显示一个文件的两个部分。例如,你可以让上面的窗口显示变 量定义而下面的窗口显示使用这些变量的代码。 CTRL-W w 命令可以用于在窗口间跳转。如果你在上面的窗口,它会跳转到下面的窗口, 如果你在下面的窗口,它会跳转到上面的窗口。(CTRL-W CTRL-W 可以完成相同的功能这 是为了避免你有时按第二次的时候从 CTRL 键上缩手晚了。) 关 闭 窗 口 以下命令用于关闭窗口: :close 实际上,任何退出编辑的命令都可以关闭窗口,象 ":quit" 和 "ZZ" 等。但 "close" 可 以避免你在剩下一个窗口的时候不小心退出 Vim 了。 关 闭 所 有 其 它 窗 口 如果你已经打开了一整套窗口,但现在只想编辑其中一个,如下命令可以完成这个功能: :only 这个命令关闭除当前窗口外的所有窗口。如果要关闭的窗口中有一个没有存盘,Vim 会显 示一个错误信息,并且那个窗口不会被关闭。

用另一个文件分割窗口

下面命令打开另一个窗口并用该窗口编辑另一个指定的文件: :split two.c 如果你在编辑 one.c,则命令执行的结果是: +----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+ 要打开窗口编辑一个新文件,可以使用如下命令: :new 你可以重复使用 ":split" 和 ":new" 命令建立任意多的窗口。

** 窗口大小

:split 命令可以接受计数前缀。如果指定了这个前缀,这个数将作为窗口的高度。例如 如下命令可以打开一个三行的窗口并编辑文件 alpha.c: :3split alpha.c 对于已经打开的窗口,你可以用有几种方法改变它的大小。如果你有鼠标,很简单:把鼠 标指针移到分割两个窗口的状态栏上,上下拖动即可。 要扩大窗口: CTRL-W + 要缩小窗口: CTRL-W - 这两个命令接受计数前缀用于指定扩大和缩小的行数。所以 "4 CTRL-W +" 会使窗口增高 4 行。 要把一个窗口设置为指定的高度,可以用这个命令: {height}CTRL-W _ 就是先输入一个数值,然后输入 CTRL-W 和一个下划线 (在美式英语键盘中就是 Shift 加上 "-")。 要把一个窗口扩展到尽可能大,可以使用无计数前缀的 CTRL-W _ 命令。 使 用 鼠 标 在 Vim 中,你可以用键盘很快完成很多工作。但很不幸,改变窗口大小要敲不少键。在 这种情况下,使用鼠标会更快一些。把鼠标指针移到状态条上,按住左键并拖动。状态条 会随之移动,这会使一个窗口更大一个更小。 选 项 'winheight' 选项设置最小的期望窗口高度而 'winminheight' 选项设置最小的 "硬性" 高度。 同样,'winwidth' 设置最小期望宽度而 'winminwidth' 设置最小硬性宽度。 'equalalways' 选项使所有的窗口在关闭或者打开新窗口的时候总保持相同大小。

垂直分割

":split" 命令在当前窗口的上面建立窗口。要在窗口左边打开新窗口,用这个命令: :vsplit 或者 :vsplit two.c 这个命令的结果如下: +--------------------------------------+ |/* file two.c */ |/* file one.c */ | |~ |~ | |~ |~ | |~ |~ | |two.c===============one.c=============| | | +--------------------------------------+ 实际中,中间的竖线会以反色显示。这称为垂直分割线。它左右分割一个窗口。 还有一个 "vnew" 命令,用于打开一个垂直分割的新窗口。还有一种方法是: :vertical new "vertical" 命令可以放在任何分割窗口的命令的前面。这会在分割窗口的时候用垂直分 割取代水平分割。(如果命令不分割窗口,这个前缀不起作用)。 在 窗 口 间 跳 转 由于你可以用垂直分割和水平分割命令打开任意多的窗口,你就几乎能够任意设置窗口的 布局。接着,你可以用下面的命令在窗口之间跳转: CTRL-W h 跳转到左边的窗口 CTRL-W j 跳转到下面的窗口 CTRL-W k 跳转到上面的窗口 CTRL-W l 跳转到右边的窗口 CTRL-W t 跳转到最顶上的窗口 CTRL-W b 跳转到最底下的窗口 你可能已经注意到这里使用移动光标一样的命令用于跳转窗口。如果你喜欢,改用方向 键也行。

移动窗口

你已经分割了一些窗口,但现在的位置不正确。这时,你需要一个命令用于移动窗口。 例如,你已经打开了三个窗口,象这样: +----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file three.c */ | |~ | |~ | |three.c===========================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+ 显然,最后一个窗口应该在最上面。移动到那个窗口 (用 CTRL-W w) 并输入如下命令: CTRL-W K 这里使用大写的 K。这样窗口将被移到最上面。你可以注意到,这里又用 K 表示向上移 动了。 如果你用的是垂直分割,CTRL-W K 会使当前窗口移动到上面并扩展到整屏的宽度。 假设你的布局如下: +-------------------------------------------+ |/* two.c */ |/* three.c */ |/* one.c */ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |two.c=========three.c=========one.c========| | | +-------------------------------------------+ 当你在中间的窗口 (three.c) 中使用 CTRL-W K 后,结果会是: +-------------------------------------------+ |/* three.c */ | |~ | |~ | |three.c====================================| |/* two.c */ |/* one.c */ | |~ |~ | |two.c==================one.c===============| | | +-------------------------------------------+ 还有三个相似的命令 (估计你已经猜出来了): CTRL-W H 把当前窗口移到最左边 CTRL-W J 把当前窗口移到最下边 CTRL-W L 把当前窗口移到最右边

阅读(930) | 评论(0) | 转发(0) |
0

上一篇:VIM示例

下一篇:函数 - 函数指针

给主人留下些什么吧!~~