热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

vim分割窗口命令

vim分割窗口命令显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文件。这一切都可以通过分割窗口实现。|08.1|分割窗口|08.2|用另一个文件分割窗口|08.3|窗口大小|08.4|垂直...
vim分割窗口命令
 
显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文
件。这一切都可以通过分割窗口实现。
|08.1| 分割窗口
|08.2| 用另一个文件分割窗口
|08.3| 窗口大小
|08.4| 垂直分割
|08.5| 移动窗口
|08.6| 对所有窗口执行命令
|08.7| 用 vimdiff 显示区别
|08.8| 杂项
  下一章:|usr_09.txt| 使用 GUI 版本
  前一章:|usr_07.txt| 编辑多个文件
    目录:|usr_toc.txt|
*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     跳转到最底下的窗口
你可能已经注意到这里使用移动光标一样的命令用于跳转窗口。如果你喜欢,改用方向
键也行。
*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| 
 

推荐阅读
  • 如何配置mysql双主_MySQL双主配置_MySQL
    准备环境:服务器操作系统为RHEL6.4x86_64,为最小化安装。主机A和主机B均关闭防火墙和SELINUX,IP地址分别为192.168.131.1 ... [详细]
  • 前言可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等。msys2可以在wind ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Mac上配置环境变量,实现Python3的命令行调用的步骤。首先通过官网下载或使用brew安装Python3,并找到安装路径。然后将该路径添加到环境变量中,可以通过编辑.bash_profile文件或执行source命令来实现。配置完成后,即可在命令行中直接调用Python3。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
author-avatar
手机用户2502855257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有