vimdiff 快捷键
使用do快捷键,或者命令 :diffget //如果是想把另外一个文件中的内容复制到当前行
使用dp快捷键,或者命令 :diffput //如果想把当前差异段复制至另外一文件中
手工做code merge的时候,经常会用到文件比较与同步的工具。vimdiff是我比较喜欢的。
首先保证系统中的diff命令是可用的。Vim的diff模式是依赖于diff命令的。
Vimdiff的基本用法就是:
# vimdiff FILE_LEFT FILE_RIGHT
或者
# vim -d FILE_LEFT FILE_RIGHT
屏 幕被垂直分割,左右两侧分别显示被比较的两个文件。两个文件中连续的相同的行被折叠了起来,以便使用者能 把注意力集中在两个文件的差异上。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异 的行显示为粉色背景,引起差异的文字用红色背景加以突出。
除了用这种方法启动vim的diff模式之外,我们还可以用分割窗口命令来启动diff模式:
# vim FILE_LEFT
然后在vim的ex模式(也就是"冒号"模式)下输入:
:vertical diffsplit FILE_RIGHT
也可以达到同样的效果。
如果希望交换两个窗口的位置,或者希望改变窗口的分割方式,可以使用下列命令:
1. Ctrl-w K(把当前窗口移到最上边)
2. Ctrl-w H(把当前窗口移到最左边)
3. Ctrl-w J(把当前窗口移到最下边)
4. Ctrl-w L(把当前窗口移到最右边)
其中1和3两个操作会把窗口改成水平分割方式。
光标移动
接下来试试在行间移动光标,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。如果不想要这个特性,可以设置:
:set noscrollbind
可以使用快捷键在各个差异点之间快速移动。跳转到下一个差异点:
]c
反向跳转是:
[c
如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第三个差异点。
文件合并
文件比较的最终目的之一就是合并,以消除差异。如果希望把一个差异点中当前文件的内容复制到另一个文件里,可以使用命令
dp (diff "put")
如果希望把另一个文件的内容复制到当前行中,可以使用命令
do (diff "get",之所以不用dg,是因为dg已经被另一个命令占用了)
如果希望手工修改某一行,可以使用通常的vim操作。如果希望在两个文件之间来回跳转,可以用下列命令序列:
Ctrl-w, w
在修改一个或两个文件之后,vimdiff会试图自动来重新比较文件,来实时反映比较结果。但是也会有处理失败的情况,这个时候需要手工来刷新比较结果:
:diffupdate
如果希望撤销修改,可以和平常用vim编辑一样,直接
, u
但是要注意一定要将光标移动到需要撤销修改的文件窗口中。
同时操作两个文件
在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa (quit all)
如果希望保存全部文件:
:wa (write all)
或者是两者的合并命令,保存全部文件,然后退出:
:wqa (write, then quit all)
如果在退出的时候不希望保存任何操作的结果:
:qa! (force to quit all)
上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各6行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context:3
可以用简单的折叠命令来临时展开被折叠的相同的文本行:
zo (folding open,之所以用z这个字母,是因为它看上去比较像折叠着的纸)
然后可以用下列命令来重新折叠:
zc (folding close)
zc 折叠
zo 展开折叠
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
折叠快捷键
http://www.cnblogs.com/abeen/archive/2010/08/06/1794197.html
vimdiff 快捷键相关推荐
- 必须熟悉的vim快捷键操作
转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍: 插入模式 和 命令模式 是vi的两个基本模式. --插入模式 , ...
- vimdiff的简单使用
Vimdiff的使用 1.首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点: 命令行方式的比较工具:简单明了的界面:对比较出来的多处差异之间快速定位:进行文件合并.再使用vim ...
- linux快捷键如dd,Linux的150个命令和快捷键 整理
线上查询及帮助命令(1个) man 目录操作命令(6个) ls.tree.pwd.mkdir.rmdir.cd 文件操作命令(7个) touch.cp.mv.rm.ln.find.rename 文件查 ...
- vimdiff 命令使用介绍
vimdiff 等同于 vim -d 命令,即 Vim 编辑器的 diff 模式. 该命令后面通常会接两个或多个文件名作为参数,这些文件会同时在 Vim 编辑器的分割窗口中打开,并高亮显示文件中内容有 ...
- vim实用指南(9)vimdiff好用的可视化文本对比工具
各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff.希望能对在 Unix/Linux 系统上进行开发 ...
- python vimdiff_技巧:Vimdiff 使用
首先保证系统中的diff命令是可用的.Vim的diff模式是依赖于diff命令的.Vimdiff的基本用法就是: # vimdiff FILE_LEFT FILE_RIGHT 或者 # vim -d ...
- vimdiff 命令使用技巧
源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分.现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare:很多IDE 或者软件配置管理系统,比 ...
- vimdiff常用命令详解
Vimdiff的基本用法就是: # vimdiff FILE_LEFT FILE_RIGHT 或者 # vim -d FILE_LEFT FILE_RIGHT 屏幕被垂直分割,左右两侧分别显示 ...
- 关闭git命令窗快捷键_zsh中git的快捷命令
zsh 中git的快捷键命令 g='git' ga='git add' gaa='git add --all' gapa='git add --patch' gau='git add --update ...
最新文章
- 学习软件测试发展前景怎么样?有前途吗?
- android surfaceview 图片,为啥从SurfaceView中获取不到图片?
- Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
- Swing学习1——总体概述
- .NET Core 调用百度 PaddleOCR 识别图文
- 数据类型之数字类型—运算符
- 桂林理工大学计算机研究调剂,2018年桂林理工大学考研调剂信息
- 计算机主板用塑料做的好吗,电脑主板包装的塑料袋为什么是用透明胶封的,这样...-卓优商学问答...
- 6年前的Dubbo,2年前的Spring Cloud,都被这个架构干掉了
- Web 爬虫 Apache Nutch 1.15 发布,支持 Java 10
- Java基础语法面试题汇总
- python获取当前时间戳_Python获取时间戳代码实例
- Springboot封装的好的发送post请求的工具类
- 【计算机网络】网络层(六)—— IP组播与移动IP
- 使用 TF-IDF 算法将文本向量化
- mac 卸载php版本,mac 系统下删除旧的php版本安装最新的php版本及Xdebug
- 手机浏览器,怎么访问电脑版的网页?
- 浅谈git rebase命令 -- git修改历史提交信息
- 期货量化交易程序CTP入门指南 三
- 电大计算机阅读英语作文,电大 英语网考翻译题库(绝对有命中题)