文档章节

vim 多窗口编辑

rose_willow
 rose_willow
发布于 2017/04/06 17:20
字数 1714
阅读 55
收藏 1

vim提供多窗口编辑的功能,可以简化复合的编辑任务。vim的多窗口并不是说在终端上启动多个vim实例。

启动多窗口编辑

vim的多窗口是动态的,可以开始编辑时就打开多窗口,也可以工作时随时增加新窗口,或者删除一个窗口。 $ vim -o file1 file2 打开一个编辑会话,显示为水平分割成两半的窗口,一个文件占用一个窗口。 $ vim -O file1 file2 和上面相同,不过是垂直分割两半的窗口 如下 图所示: 输入图片说明 如果画面分割后不足以容纳下所有窗口,那么第一个文件会占用大部分窗口,余下的窗口则载入缓冲区,暂时不能看到,但仍可以取用。

-o后面加一个数字n,是预分配窗口的形式打开: $ vim -o5 file1 file2 将分配5个相同的窗口,有3个是闲置的

vim的多窗口编辑

:split 新建一个窗口,将当前窗口分割成两半,他们显示的是相同缓冲区的内容(同一个文件)。这样就可以在两个窗口中浏览相同的文件了。

:vsplit 创建全新的垂直分割的窗口,同样是显示和当前窗口同一个文件内容。效果如下:

输入图片说明 当多个窗口编辑同一个文件时,在任意一个窗口进行编辑(例如删除一行),那么所有相同文件的窗口上都会同时反应效果,因为他们共享同一个文件缓冲区。

如果想编辑或浏览另一个文件,而又不想失去在当前文件中的编辑位置,就用新文件的参数传给:split命令 :split otherfile

分割窗口的选项

:[n] split(vsplit) [++opt] [+cmd] [file]

命令中: n 为vim指定在新窗口中显示的行数,且新窗口的大小刚好容纳该行数,新窗口位于画面顶端 opt 传递vim选项信息给新的窗口会话(请注意,它的前面必须加上两个加号) cmd 传入欲在新窗口中执行的命令(请注意,它的前面必须加上一个加号) file 指定在新窗口中编辑的文件

:sview filename 以只读的方式水平分割打开一个新窗口 :sfind [++opt] [+cmd] [file] 和split的运作方式相似,但在path中寻找filename,如果vim未找到文件则不显示

在窗口间游走

在gvim或vim中,在窗口中移动其实非常简单,因为gvim已默认支持鼠标点击来换编辑窗口,而vim中,则可以打开mouse选项, :set mouse = a 为命令、输入、导航都激活鼠标的使用

我们知道vim的特色就是可以脱离鼠标而工作,所以可以使用vim提供的全套导航命令,在会话中快速而准确的移动编辑窗口。

按住Ctrl + W,然后再加上h, j, k, l,分别表示向左、下、上、右移动窗口 Ctrl + w + h:向左移动窗口 Ctrl + w + j: 向下移动窗口 Ctrl + w + j: 向上移动窗口 Ctrl + w + l: 向右移动窗口

Ctrl + w + w:这个命令会在所有窗口中循环移动 Ctrl + w + t:移动到最左上角的窗口 Ctrl + w + b:移动到最右下角的窗口 Ctrl + w + p:移动到前一个访问的窗口

移动窗口

vim中有两种移动窗口方式,一种只是简单地在屏幕上切换窗口,尺寸维持不变;另一种则是改变窗口的实际布局,还会调整尺寸,以填充它移动的位置。

  1. 移动窗口本身(轮换或交换)

Ctrl + w + r:向右或向下方交换窗口,而Ctrl + w + R则和它方向相反。

光标会随着窗口而移动

Ctrl + w + x:交换同列或同行的窗口的位置。vim默认交换当前窗口的与它下一个窗口的位置,如果下方没有窗口,则试着与上一个窗口交换位置。亦可在此命令前加上数量,与制定的窗口交换位置。

  1. 移动窗口并改变其布局

注:下面的第三个字母都是大写,按玩Ctrl + w之后,按shif + 相应的字母。后面用^代替Ctrl Ctrl + w + K :移动当前窗口至屏幕顶端,并占用全部宽度 ^WJ: 移动窗口至屏幕底端,并占用全部宽度 ^WH:移动窗口至屏幕左端,并占用全部高度 ^WL:移动窗口至屏幕右端,并占用全部高度

^WT :移动窗口至屏新的现有分页

  1. 调整窗口尺寸

改变当前窗口的尺寸,同时当然也会影响到其他窗口。 在gvim和vim中,可以用鼠标点击窗口的顶部白色条并窗口直接调整尺寸。

也可以直接用命令,调整尺寸命令也是以Ctrl + W开头: Ctrl + W + = :让所有窗口调整至相同尺寸(平均划分) Ctrl + W + -:将当前窗口的高度减少一行,也可在ex命令中,:resize -4明确指定减少的尺寸 Ctrl + W + +:将当前窗口的高度增加一行。同样在ex命令中,:resize +n 明确指定增加尺寸

Ctrl + W + < :将当前窗口的宽度减少 Ctrl + W + > :将当前窗口的宽度增加

Ctrl + W + |:将当前窗口的宽度调到最大,也可他哦你通过ex命令:vertical resize n明确指定改变宽度

分页编辑

除了使多窗口编辑外,vim还允许创建多个分页(tab),每个分页各有独自的行为,类似于浏览器firefox或chrome的分页浏览功能。

我们可以在vim或gvim中使用分页,但在gvim会更好用。 最终要的命令 :tabnew filename 打开新分页并编辑新文件(可选的)。如果未指定文件,则只打开新分页,并附上空的缓冲区。 :tabclose 关闭当前分页 :tabonly 关闭其他所有的分页。如果其他分页中有修改过的文件,则不会移除该分页,除非设置了autowrite选项。此时,所有修改过的文件都在分页关闭前写入磁盘。

游走分页

可以直接点鼠标来移动到另一个分页,也可以用命令 Ctrl + PageDown:移动到下一个分页 Ctrl + PageUp:移动到上一个分页

关闭与离开窗口

有4种关闭窗口的方式,分别是:离开(quit)、关闭(close)、隐藏(hide)、关闭其他窗口

^代表Ctrl键 ^Wq,离开当前窗口 ^Wc,关闭当前的窗口 ^Wo,关闭当前窗口以外的所有窗口

http://blog.csdn.net/shuangde800/article/details/11430659

© 著作权归作者所有

共有 人打赏支持
rose_willow
粉丝 0
博文 90
码字总数 15682
作品 0
石家庄
运营/编辑
私信 提问
vim 多窗口编辑

vim 多窗口编辑 本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------------------------------------------ vim提供多窗口编辑的功能......

片刻
2015/12/31
119
0
vi/vim多窗口编辑相关命令

1、vi 多窗口编辑命令: vi -o file1 file2 纵向显示多个文件,窗口间切快捷键:ctrl+w(需要按两次w) 保存并退出全部窗口:wqa 退出全部窗口:qa 2、vim 多窗口编辑 vim 可以使用参数大O和...

Shell_2015
2018/06/26
0
0
vim多标签、多窗口操作

多标签 欢迎访问 www.zhizhi123.com,汇聚WEB开发知识 进入vim前 vim -p <文件名> 以多标签形式打开文件。如vim -p * 就是编辑当前目录的所有文件 vim编辑中 :tabnew 增加一个标签 :tabc 关闭...

江上轻烟
2016/05/22
133
1
linux学习第6天(自习) vim使用

linux学习第6天(自习) vim使用 时间: 20180721 目录 vim 模式切换 退出文件 光标移动 行间移动 vim的编辑命令 vim可视化模式 撤消编辑 翻屏操作 vim中的末行模式 内容定界 查找 查找并替换 ...

Winthcloud
2018/07/26
0
0
VIM使用系列:窗口控制与操作控制

前面介绍完准备工作和配置文件,接下来将主要介绍使用VIM进行编辑开发过程的一些控制操作和命令技巧等,主要是我在项目开发过程中遇到并使用的一下操作技巧,不进行深入的原理探讨和详解。本...

水海云
2013/02/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day11

architect刘源源
今天
3
0
论学好Linux系统的超级重要性

不知道各位在日常的工作生活中有没有接触过“rm -rf /*”这个命令,因为这个命令搞出来的事情可还不少呢!前段时间就在一个群里看到了有个小伙子,老板让他去维护一下服务器,这小伙也不太懂...

Linux就该这么学
昨天
2
0
git 使用

1,首先在github配置好信息和仓库,然后在本地进行操作 git init git config user.name 'zhangwuer' git config user.email '56789053@qq.com' 2,与远程分支建立连接 git checkout -b test......

天王盖地虎626
昨天
3
0
git checkout 命令详解

在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。 在下面的命令中,使用了一些简写,在这里说明一下: git st # git statusgit ci ...

shzwork
昨天
8
0
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

Nginx多级代理,获取客户端真实请求IP以及每级代理IP 如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印...

薛定谔的旺
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部