`
haierboos
  • 浏览: 438238 次
文章分类
社区版块
存档分类
最新评论

vim 多窗口编辑

 
阅读更多


本文出自 http://blog.csdn.net/shuangde800

------------------------------------------------------------------------------------------------





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默认交换当前窗口的与它下一个窗口的位置,如果下方没有窗口,则试着与上一个窗口交换位置。亦可在此命令前加上数量,与制定的窗口交换位置。


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


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

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

3. 调整窗口尺寸


改变当前窗口的尺寸,同时当然也会影响到其他窗口。
在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,关闭当前窗口以外的所有窗口


分享到:
评论

相关推荐

    Vim文本编辑器及其应用详解

    可视化模式的基本操作编辑模式操作Vim 查找文本Vim 替换文本Vim 保存退出文本Vim多窗口编辑模式在一个窗口同时打开多个文件多窗口编辑Vim批量注释和自定义注释快捷键Vim显示行号配置文件(.vimrc)详解基本配置 ...

    学习vi和vim编辑器

     ·执行多窗口编辑,并设计vim脚本  ·充分利用图形化用户界面版的vim,gvim  ·使用vim的强化功能,例如语法高亮显示及扩展标签  ·vim与其他三种vi同类品的比较:nvi、elvis、vile  vi或vim,是使用linux或...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化功能,例如语法高亮显示及扩展标签 ·Vim与其他三种vi同类品的比较:nvi、elvis、vile vi或Vim,是使用Linux或Unix时...

    Vim 窗口增添漂亮状态行的插件:一个为 Vim 编辑器设计的插件,能够为每个 Vim 窗口添加漂亮的状态行

    一个为 Vim 编辑器设计的插件,能够为每个 Vim 窗口添加漂亮的状态行。状态行不仅提供了有用的信息,如当前文件名、光标位置和代码折叠状态,还可以通过主题和自定义进行个性化设置。这个插件使得 Vim 用户能够更...

    学习vi和vim编辑器_第7版_中文

    ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化功能,例如语法高亮显示及扩展标签 ·Vim与其他三种vi同类品的比较:nvi、elvis、vile vi或Vim,是使用Linux或Unix时...

    学习VI和VIM编辑器第7版中文

    ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化功能,例如语法高亮显示及扩展标签 ·Vim与其他三种vi同类品的比较:nvi、elvis、vile vi或Vim,是使用Linux或Unix时...

    vim设置20130906, 适合编程爱好者

    "Set Tags "{{{ set tags=./tags 解压到~目录下, 插件若有更新,可到插件目录下执行git pull 每个插件的目录下的conf.vim中有更多的设置及..."GoldenView 窗口切割编辑利器 "source ~/.vim/bundle/GoldenView/conf.vim

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

    vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,...多窗口编辑跳转; h,l,j,k :close 关闭当前窗口 :split sec.txt 水平分割窗口打开新文件 :vsplit se.txt 垂直分割窗口 :!

    vim user manual ---vim用户手册

    jusr 07.txtj 编辑多个文件 jusr 08.txtj 分隔窗口 jusr 09.txtj 使用GUI jusr 10.txtj 大刀阔斧 jusr 11.txtj 灾难恢复 jusr 12.txtj 奇技淫巧 高效编辑 jusr 20.txtj 加速冒号命令 jusr 21.txtj 进退之间 jusr 22....

    Vim命令合集.docx

    在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。 :args 打开远程文件,比如ftp或者...

    committia.vim, 在提交消息时,使用Vim插件进行更愉快的编辑.zip

    committia.vim, 在提交消息时,使用Vim插件进行更愉快的编辑 提交消息时更愉快地编辑键入 git commit 时,Vim启动并打开提交缓冲区。...编辑窗口,状态窗口和差异窗口。 你不再需要重复滚动并回到以前

    vim编辑器windows V8.0.2汉化版.zip

    WINDOWS系统下可直接运行的vim编辑器,解压后直接双击vim.exe打开即可运行,本版本功能和linux下的vim编辑器相同,操作界面和DOS命令提示符窗口相似。内含英文原版和汉化版,输入help iccf查看说明。输入q退出软件...

    vim窗口分割

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

    vim使用进阶:vim使用技巧、配置、命令和插件

    作为一个通用的编辑器,vim实现的补全功能并不仅仅限于对程序的补全,它可以对文件名补全、根据字典进行补全、根据本缓冲区或其它缓冲区类似的内容进行补全、根据文件语法补全等等,它甚至允许用户自己编写函数来...

    Learning the vi and Vim Editors

    , · 高效使用vi, · 深入讲解vi的知识,例如使用缓存, · 使用vi的全局搜索替换功能, · 定制vi以及运行Unix命令.., · 使用Vim的扩展文本对象和强大正则表达式, · 使用多窗口编辑并且编写Vim脚本, · 发挥图形...

    vim超级配置

    "==========很多插件,可能进行过修改, 若感觉不爽,可以在.vim搜索lidong, 进行还原=================== +-- 11 lines: 插件依赖设置 --------------------------------------------------------------------...

    vim安装包,用于linux十分便捷

    vim newfile 新建一vim空白文件进行编辑 普通模式 编辑模式下按ESC切换为普通模式 命令 说明 移动: h 将光标向左移动一格 l 将光标向右移动一格 j 将光标向下移动一格 k 将光标向上移动一格 ^ 光标...

    vim 从入门到精通

    vim最吸引人的一点是,它支持无穷多的文件类型,而且能够随意扩展。在本文主要介绍如何打开文件类型检测的功能,以及如何使用基于文件类型的插件(filetype plugin)。正因为有了文件类型检测的功能,我们才可能针对...

    Vim-handbook-cn-72

    |usr 07.txt| 编辑多个文件 |usr 08.txt| 分隔窗口 |usr 09.txt| 使用GUI |usr 10.txt| 大刀阔斧 |usr 11.txt| 灾难恢复 |usr 12.txt| 奇技淫巧 高效编辑 |usr 20.txt| 加速冒号命令 |usr 21.txt| 进退之间...

Global site tag (gtag.js) - Google Analytics