`
cloudtech
  • 浏览: 4611077 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

vim分割窗口

 
阅读更多
分割窗口:显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文

件。这一切都可以通过分割窗口实现。


|08.1| 分割窗口
|08.2| 用另一个文件分割窗口
|08.3| 窗口大小
|08.4| 垂直分割
|08.5| 移动窗口
|08.6| 对所有窗口执行命令
|08.7| 用 vimdiff 显示区别

|08.8| 杂项


*08.1* 分割窗口
最简单的打开新窗口命令是如下:
: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 会
显示一个错误信息,并且那个窗口不会被关闭。
*08.2* 用另一个文件分割窗口
下面命令打开另一个窗口并用该窗口编辑另一个指定的文件:
:split two.c
如果你在编辑 one.c,则命令执行的结果是:
+----------------------------------+
|/* file two.c */ |
|~ |
|~ |
|two.c=============================|
|/* file one.c */ |
|~ |
|one.c=============================|
| |
+----------------------------------+
要打开窗口编辑一个新文件,可以使用如下命令:
:new
你可以重复使用 ":split" 和 ":new" 命令建立任意多的窗口。
*08.3* 窗口大小
: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' 选项使所有的窗口在关闭或者打开新窗口的时候总保持相同大小。
*08.4* 垂直分割
":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 跳转到最底下的窗口
你可能已经注意到这里使用移动光标一样的命令用于跳转窗口。如果你喜欢,改用方向
键也行。
还有其它命令可以跳转到别的窗口,参见:|Q_wi|。
*08.5* 移动窗口
你已经分割了一些窗口,但现在的位置不正确。这时,你需要一个命令用于移动窗口。
例如,你已经打开了三个窗口,象这样:
+----------------------------------+
|/* 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 把当前窗口移到最右边
*08.6* 对所有窗口执行命令
你打开了几个窗口,现在你想退出 Vim,你可以分别关闭每一个窗口。更快的方法是:
:qall
这表示 "quit all"(全部退出)。如果任何一个窗口没有存盘,Vim 都不会退出。同时
光标会自动跳到那个窗口,你可以用 ":write" 命令保存该文件或者 ":quit!" 放弃修改。
如果你知道有窗口被改了,而你想全部保存,则执行如下命令:
:wall
这表示 "write all"(全部保存)。但实际上,它只会保存修改过的文件。Vim 知道保
存一个没有修改过的文件是没有意义的。
另外,还有 ":qall" 和 "wall" 的组合命令:
:wqall
这会保存所有修改过的文件并退出 Vim 。
最后,下面的命令由于退出 Vim 并放弃所有修改:
:qall!
注意,这个命令是不能撤消的。
为 所 有 的 参 数 打 开 窗 口
要让 Vim 为每个文件打开一个窗口,可以使用 "-o" 参数:
vim -o one.txt two.txt three.txt
这个结果会是:
+-------------------------------+
|file one.txt |
|~ |
|one.txt========================|
|file two.txt |
|~ |
|two.txt========================|
|file three.txt |
|~ |
|three.txt======================|
| |
+-------------------------------+
"-o" 参数用于垂直分割窗口。
如果 Vim 已经启动了,可以使用 ":all" 命令为参数列表中的每个文件打开一个窗
口。":vertical all" 以垂直分割的方法打开窗口。
*08.7* 用 vimdiff 显示区别
有一种特殊的启动 Vim 的方法可以用来显示两个文件的区别。让我们打开一个 "main.c"
并插入一些字符。在设置了 'backup' 选项的情况下保存这个文件,以便产生 "main.c~"
备份文件。
在命令行中输入如下命令:(不是在Vim中)
vimdiff main.c~ main.c
Vim 会用垂直分割的方式打开两个文件。你只能看到你修改过的地方和上下几行的地方。
VV VV
+-----------------------------------------+

|+ +--123 lines: /* a|+ +--123 lines: /* a|


转载地址:http://linux.chinaunix.net/techdoc/desktop/2007/12/21/974847.shtml

分享到:
评论

相关推荐

    GoldenView.Vim:对于vim分割窗口,始终要保持良好的视野!

    始终对vim分割窗口有一个很好的视图 ------------- - ----------------------------------------------- Plugin : GoldenView.vim Author : Zhao Cai EMail : caizhaoff@gmail.com Homepage : ...

    vim窗口分割

    本文档讲述了vim编辑器的窗口垂直和水平分割的以及对窗口大小调整的办法,有兴趣的的可以看看

    Vim常用命令详细汇总(全)

    vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用...水平分割窗口打开新文件 :vsplit se.txt 垂直分割窗口 :!

    vim::pushpin:在易于阅读的弹出窗口中查看vim分割的文件名,无缝切换窗口

    vim::pushpin:在易于阅读的弹出窗口中查看vim分割的文件名,无缝切换窗口

    vmux.vim:更好的Vim窗口管理

    vmux.vim 更好的Vim窗口管理。特征Sane窗口调整大小命令模仿了tmux逻辑。 终端布局管理,例如tmux 像tmux这样的缓冲区管理在没有警告的情况下在缓冲区之间切换-缓冲区被分类为normal , terminal和other并且一个类别...

    linux vim手户手册

    |usr_08.txt| 分割窗口 |usr_09.txt| 使用 GUI 版本 |usr_10.txt| 做大修改 |usr_11.txt| 从崩溃中恢复 |usr_12.txt| 小窍门 高效的编辑 |usr_20.txt| 快速键入命令行命令 |usr_21.txt| 离开和回来 |usr_22.txt| ...

    Hacking Vim

    2.5分割窗口功能 2.6改变颜色配置 2.7显示和不显示行号 2.8更好的状态行 2.9光标行和光标列 2.10语言拼写检查 2.11键绑定 2.12定位功能 2.13 自动补全 2.14 使用宏 2.15读写文件或命令内容 2.16使用寄存器 2.17折迭 ...

    VIM使用不熟练?看完这篇文章,让你使用VIM效率提高至少一倍! ——《Linux之vim知识详解》

    文章目录– 写在开头的话- vim编辑器- vim编辑器简介- vim的使用 – vim的三种模式- vim打开文件的方式- vim的模式转换-关闭文件- 光标跳转- 字符... vim中的末行模式- 多文件模式- 窗口分隔模式- 单文件窗口分割- 定制

    vimer:我的vim配置

    vim - ide 一键配置 说明 1.vimer 我的vim配置 2. init.sh 初始化文件 ...4. 如果您喜欢这套配置请赏下一个star吧,我会感激你的 ...taglist -- 基于ctags,在vim代码窗口旁以分割窗口形式显示当前的代码结构概览 grep --

    galvanize.vim:编辑vim寄存器作为缓冲区

    c@b在当前窗口中打开未命名的寄存器。 :GalvanizeEdit "在垂直拆分中打开寄存器a 。 :GalvanizeVsplit a也打开寄存器a ,但水平分割。 :GalvanizeSplit A在新标签中打开寄存器z 。 :GalvanizeTabe z编辑这些命令...

    vimrc:个人vim配置

    :vsp垂直分割 . 重复上一次更改 di"删除一对“”之间的内容。 di( di[是相似的。 :reg查看所有寄存器内容 "3p粘贴寄存器3中的内容 "3y复制到注册3 "+y和"+p用于从系统剪贴板复制和粘贴到系统剪贴板 :args ./src/*...

    bufexplorer:Vim的BufExplorer插件

    bufexplorer Vim的BufExplorer插件使用bufexplorer,您可以使用默认的公共接口之一快速轻松地在缓冲区之间切换: \<Leader>be正常打开\<Leader>bt切换打开/关闭\<Leader>bs强制水平拆分打开\<Leader>bv垂直分割打开...

    Vim的分屏功能命令大全

    关闭当前窗口,如果只剩最后一个了,则退出Vim Ctrl+W q 分屏 上下分割当前打开的文件。 Ctrl+W s 上下分割,并打开一个新的文件 :sp filename 左右分割当前打开的文件 Ctrl+W v 左右分割,并打开一个新的...

    ri.vim:从Vim浏览ri文档

    ri Vim插件 这个插件使您可以在Vim中搜索和导航Ruby库和gem文档。 优于古老的ri命令行工具的优点: 在相邻的Vim窗口中编写...,R打开搜索/自动完成窗口,并使用垂直分割显示匹配的文档 ,K打开搜索/自动完成窗口,并

    vimrc带详细说明配置文件and插件包

    在被分割的窗口间显示空白,便于阅读 打开文件时光标自动到上次退出该文件时的光标所在位置 搜索和匹配 显示状态行 Lookupfile 相关设置 继承前一行的缩进方式,特别适用于多行注释 为C程序提供自动缩进 TAB键宽度 ...

    vimsetup:我的Persoal Vim设置说明

    vimsetup 我的Persoal Vim设置和注意事项 经营理念 绝对不要:q。 使用缓冲区 选项卡只是工作区。 不要将它们视为文件 笔记: nnoremap表示普通模式非递归映射 ...<ctrl> o-最大化/最小化窗口(使用autoload

    vim-config:用于前端开发的不错的vim配置

    行动快捷键 :play_button: 文件操作最近文件列表leader m 分割显示NERDtree中的当前文件leader f :play_button: JShint / CSSlint导航显示错误窗口leader ll 转到错误/警告的下一行] 转到前一行有错误/警告[ :play_...

    vim-buffergator:Vim插件列出,选择缓冲区并在缓冲区之间切换

    使用<Leader><LEFT> , <Leader><UP> , <Leader><RIGHT>和<Leader><DOWN>分别向左,上,右或下分割新窗口,并编辑先前的MRU缓冲区那里。 支持许多其他选项:(例如,在现有窗口/选项卡中或在同一窗口中打开;预览...

    【最新版】VNote-2.9-x64.dmg【亲测可用】最好的更懂程序员和Markdown的笔记!

    VNote 一个更懂程序员和Markdown的笔记! 直观的笔记管理 只有纯文本,不依赖数据库 独立的笔记本 ,无限层级的文件夹 ,开放的笔记 ...Vim模式和Vim式导航 ...窗口分割 模糊查找和跳转 贴心顺手的快捷键

    开源免费 Markdown 笔记工具 VNote 3.0.1 中文多语免费版.zip

    窗口分割 模糊查找和跳转 贴心顺手的快捷键 VNote 无疑是一个非常有趣的应用程序,如果有机会,它可能会证明是大多数 Vim 程序员正在寻找的记笔记应用程序。有关该项目的更多信息以及详细的文档部分,请参阅应用...

Global site tag (gtag.js) - Google Analytics