vim支持窗口分割和标签页,合适地使用这两种特性可以使文字编辑工作更愉快。

1. 窗口分割

vim支持窗口的水平分割和垂直分割。以下是常用的操作指令或快捷键。

命令 说明
vim -o <files> 打开多个文件,并将它们放在水平分割的窗口中
vim -O <files> 打开多个文件,并将它们放在垂直分割的窗口中
:sp[lit] [file]

不加file参数时,新建一个水平窗口,放置当前文件的副本;
带file参数时,新建一个水平窗口并把file放在新窗口中。

新窗口将位于当前窗口的上面,光标停在新窗口中。

:vsp[lit] [file]

不加file参数时,新建一个垂直窗口,放置当前文件的副本;
带file参数时,新建一个垂直窗口并把file放在新窗口中。

新窗口将位于当前窗口的左边,光标停在新窗口中。

:qa[ll] 关闭所有窗口并退出
:wa[ll] 保存所有窗口中的内容
:on[ly]
<Ctrl>+w+o
关闭当前窗口之外的其他所有窗口
:clo[se]
<Ctrl>+w+c
关闭当前窗口
<Ctrl>+w+h 将光标移动到当前窗口左边的窗口
<Ctrl>+w+j ..............................下...........
<Ctrl>+w+k ..............................上...........
<Ctrl>+w+l ..............................右........... (l是字母L的小写)
<Ctrl>+w+t 将光标移动到第一个窗口
<Ctrl>+w+b 将光标移动到最后一个窗口
<Ctrl>+w+H 将当前窗口移动到最左边
<Ctrl>+w+J ...........................下...
<Ctrl>+w+K ...........................上...
<Ctrl>+w+L ...........................右...
<Ctrl>+w+R

将当前窗口列表向前滚动一个位置(如果有3个垂直窗口,一开始从左到右依次是
ABC,那么在任一窗口中执行此命令,将会变成BCA,再执行变成CAB,如此往复);

当只有两个窗口时,交换这两个窗口的位置。

<Ctrl>+w++ 增加当前窗口的高度(默认是一行)
<Ctrl>+w+- 减小....................
<Ctrl>+w+> 增加当前窗口的宽度(默认是一列)
<Ctrl>+w+< 减小....................
<Ctrl>+w+= 使所有窗口的宽度/高度相同(既有水平窗口,又有垂直窗口的情况没试过会怎么样)
:res[ize] <N>
:res[ize] +<N>
:res[ize] -<N>
调整当前窗口的高度:为N行,增加N行,减小N行
:vert[ical] res[ize] <N>
:vert[ical] res[ize] +<N>
:vert[ical] res[ize] -<N>
调整当前窗口的宽度:为N列,增加N列,减小N列

另外vim提供了quickfix窗口,在执行vimgrep之类的命令后,结果会显示在quickfix窗口,运行:cw命令即可呼出此窗口。与quickfix的指令有

命令 说明
:cw 如果有信息列表,则打开quickfix窗口;否则什么也不做
:cl 列出所有信息
:cc 显示详细信息
:cp 跳到上一项
:cn ......下一项
:copen 打开quickfix窗口,可添加窗口高度参数,单位为行
:cclose 关闭quickfix窗口
:cold[er] 到前一个旧列表
:cnew 到后一个新列表

2. 标签页

分割窗口有时候会显得vim界面比较杂乱,这时候,标签页是另一个选择。以下是常用的操作指令或快捷键。

命令 说明
vim -p <files> 打开多个文件,并将它们放在标签中
:tabe[dit] <file> 在当前标签页之后新建一个标签页,在其中放置file的内容
:tabnew <file> 新建一个文件file,并为它新建一个标签页
:tabo[only] 关闭其他标签页
:tabc[lose]
:q
关闭当前标签页
gt 打开下一个标签页
gT ......上一个.........
:tabfir[st]
:tabr[ewind]
打开第一个标签页
:tabl[ast] 打开最后一个标签页
:tabm[ove] <N>
:tabm[ove] +<N>
:tabm[ove] -<N>
移动标签页:移到到位置N,往右移N个位置,往左移N个位置
:tabs 显示当前标签页
:help tab-page-intro 查询标签页相关命令

【vim】分割窗口、标签页与Quickfix窗口的更多相关文章

  1. 20141112 WinForm子窗口标签页

    (一)标签页 先看看效果: 代码: public partial class 标签页 : Form { string s = ""; public 标签页() { Initiali ...

  2. Google 浏览器设置打开超链接到新窗口标签页

    一.windows  按住Ctrl + 鼠标点击,在新窗口打开,停留在当前页面: 按住Ctrl + Shift + 鼠标点击,在新窗口打开,停留在新窗口: 登录Google账号,管理Google账号, ...

  3. selenium 打开新标签页(非窗口)

    如何利用webdriver打开多个标签页和链接呢,到处查找得到的往往只是如何打开标签页. 打开标签页很简单,浏览器打开标签页的快捷键是ctrl+t,那把ctrl+t的按键事件传入即可,很多种实现方式, ...

  4. VIM 实现tab标签页及分屏,切换命令

    1,在一个窗口中,VIM 的小tab标签页命令:   :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab :tabc       关闭当前的tab ...

  5. vim的多标签

    vim支持多标签页,可以在同一窗口同时打开多个文档, 两种方法: vim -d 通过vim --help后发现vim -d相当与vimdiff模式 例子: $ vim -d a.txt b.txt c ...

  6. android studio学习---标签页分离,满足查同一个文件的不同部分

    分离一个标签窗口:右键标签页,打开上下文菜单,选择Split Vertically or Split Horizontall改变分离窗口的摆放方式:右键标签页,打开上下文菜单,选择 Change Sp ...

  7. 4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页

    目录 1. 缓冲区 2. 窗口 3. 标签页 4. 设置一下热键 1. 缓冲区 文件和缓冲区的区别 vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区, 当使用 ...

  8. 【转】vim中多标签和多窗口的使用

    原文:https://my.oschina.net/kutengshe/blog/464602 ---------------------------------------------------- ...

  9. VIM 分割窗口

    VIM 分割窗口     *08.1*  分割窗口 打开新窗口最简单的命令如下: :split 这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中: +----------------------- ...

随机推荐

  1. php连接DB2

    在php.ini中添加对DB2的支持 //////////////////////////////////////////////////// ;;;;;;;;;;;;;;;;;;;;;; ; Dyn ...

  2. 201.09.22 除虫药水(线性dp)

    描述 在十年前,除虫是十分艰苦的工作.那时,使用普通药水进行除虫的效果极差,在一片苹果 林中使用后除掉的虫仅为极小一部分. 比如说,Bugs 镇共有 N 片苹果林,对第i 片使用普通药水可以除掉 ai ...

  3. 2018.07.01 BZOJ3295: [Cqoi2011]动态逆序对(带修主席树)

    3295: [Cqoi2011]动态逆序对 **Time Limit: 10 Sec Memory Limit: 128 MB Description 对于序列A,它的逆序对数定义为满足i<j& ...

  4. UVa 11346 Probability (转化+积分+概率)

    题意:给定a,b,s,在[-a, a]*[-b, b]区域内任取一点p,求以原点(0,0)和p为对角线的长方形面积大于s的概率. 析:应该明白,这个和高中数学的东西差不多,基本就是一个求概率的题,只不 ...

  5. day8 异常处理

    异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误(逻辑错误) part2:什么是异常 ...

  6. Tensorflow currently has no official prebuild for your CUDA, cuDNN combination.

    INFO CUDA version: 10. ERROR cuDNN not found. See https://github.com/deepfakes/faceswap/blob/master/ ...

  7. Android+PHP开发最佳实践

    本书以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧.从前期的产品设计.架构设计,到客户端和服务器的编码实现,再到性能测试和系统优化,以及最后 ...

  8. Win窗口坐标二维坐标与OpenGl的世界坐标系的之间的相互转换

    Win窗口坐标二维坐标与OpenGl的世界坐标系的转换 几何处理管线擅长于使用视图和投影矩阵以及用于裁剪的视口把顶点的世界坐标变换为窗口坐标. 但是,在有些情况下,需要逆转这个过程.一种常见的情形是: ...

  9. 关于BufferefReader.readLine()方法的理解

    有以下代码:    BufferedReader localReader = new BufferedReader(new InputStreamReader(System.in)); String ...

  10. 对C++里面 的知识积累:

    unique()[去重函数] unique()是C++标准库函数里面的函数,其功能是去除相邻的重复元素(只保留一个),所以使用前需要对数组进行排序 上面的一个使用中已经给出该函数的一个使用方法,对于长 ...