VIM学习笔记 比较文件(diff)
比较
可以从命令行调用以下命令,来打开两个文件进行比较:
vim -d file1 file2
如果已经打开了文件file1,那么可以在Vim中用以下命令,再打开另一个文件file2进行比较:
:diffsplit file2
如果已经使用split打开了两个文件,那么可以分别在两个窗口里面输入以下命令,进行比较:
:diffthis
屏幕将被水平分隔,分别显示一个文件,其中不同的部分将被高亮显示。
- 只在某一文件中存在的行,显示为蓝色;
- 而在另一文件中的对应位置的行,显示为绿色;
- 在两个文件中都存在的行,显示为紫色
- 行中不相同的字符,显示为红色;
- 相同的行,没有高亮显示并且会被折叠。
如果想要垂直比较两个文件,可以使用以下命令:
:vert diffsplit file2
折叠
使用zo
命令,可以展开被折叠的相同的文本行;而zc
命令,则可以重新折叠相同的行。
查看
比较文件时,经常需要结合上下文来确定最终要采取的操作。缺省情况下,是会把不同之处上下各6行的文本显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以使用以下命令:
:set diffopt=context:3
滚动
如果你在一个文件中滚动屏幕,那么另一个文件也会自动滚动以显示相同的位置。你可以使用以下命令,取消联动:
:set noscrollbind
使用以下命令,将重新绑定联动:
:set scrollbind
利用以下命令,可以定义滚动方式:
:set scrollopt ver,hor,jump
其中:选项ver ,启用垂直同步滚动;选项hor ,启用水平同步滚动;而jump 选项,则在切换窗口时,使垂直滚动始终同步。
如果光标停留在两个文件的不同位置,那么可以使用下面的命令同步滚动:
:syncbind
更新
如果更改了某个文件的内容,vim又没有自动更新diff检查,那么可以使用如下命令更新:
:diffupdate
跳转
你可以用[c
命令;跳转到前一个不同点;或者用]c
命令,跳转到后一个不同点。
:diffsplit |
分隔窗并比较文件 |
:diffthis |
比较文件 |
:diffupdate |
更新比较结果 |
zo |
展开 |
zc |
折叠 |
[c |
跳转到前一个不同点 |
]c |
跳转到后一个不同点 |
转载自:语虚
VIM学习笔记 比较文件(diff)的更多相关文章
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- SpringMVC:学习笔记(8)——文件上传
SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- Django:学习笔记(8)——文件上传
Django:学习笔记(8)——文件上传 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不 ...
- APUE学习笔记3_文件IO
APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- Liunx学习笔记(三) 文件权限
一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...
- [Vim]vim学习笔记--多个文件打开,切换,关闭
一种情况是在shell中用vim打开多个文件,另一种是在vim编辑器中打开多个文件 同时打开多个文件 vim file1 file2 打开文件并水平窗口显示 vim -o file1 file2 打 ...
- springmvc学习笔记--支持文件上传和阿里云OSS API简介
前言: Web开发中图片上传的功能很常见, 本篇博客来讲述下springmvc如何实现图片上传的功能. 主要讲述依赖包引入, 配置项, 本地存储和云存储方案(阿里云的OSS服务). 铺垫: 文件上传是 ...
随机推荐
- Typora——自定义设置
Typora提供自定义设置,在偏好设置里面,有一个主题文件夹,如果对界面的样式进行设定,可以添加一个css文件,命名规范是 github.user.css,下面代码会对h1~h4进行自动序列化 bod ...
- glic,uClibc,EGLIBC 简要介绍
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- javascript底层练习
1.请看下列代码: function F(){ function C(){ return this; } return C(); } var o=new F(); 请问上面的this值指向的是全局对象 ...
- 用Docker构建Nginx镜像
1构建Nginx镜像 1建立工作目录 [root@localhost ]# mkdir 1nginx [root@localhost 1nginx]# cd 1nginx/ [root@localho ...
- UVA - 12661 Funny Car Racing (Dijkstra算法)
题目: 思路: 把时间当做距离利用Dijkstra算法来做这个题. 前提:该结点e.c<=e.a,k = d[v]%(e.a+e.b); 当车在这个点的1处时,如果在第一个a这段时间内能够通过且 ...
- linux环境下时间的查看和修改
查看日期和时间date 查看时区date -R 查看UTC时间date -u 修改日期[root@centos ~]# date -s 20181230Sun Dec 30 00:00:00 EST ...
- Django-REST-Framework JWT 实现SSO认证(下)
在上一篇博客中,我已经对JSON Web 认证做了简单的解释,这篇博客是续篇,若不了解,请看上一篇博客:https://www.cnblogs.com/yushenglin/p/10863184.ht ...
- Tornado进阶
三.Tornado进阶 3.1 Application settings debug,设置tornado是否工作在调试模式,默认为False即工作在生产模式.当设置debug=True 后,torna ...
- Mac安装virtualwrapper时报错No module named virtualenvwrapper
1. 前言 我在使用mac安装virtualwrapper的时候遇到了问题,搞了好长时间,才弄好,在这里总结一下分享出来,供遇到相同的问题的朋友使用,少走些弯路. 2. 问题说明 Mac默认系统的py ...
- SERE0014: Illegal HTML character: decimal 154
问题:jmeter,生成报告转化成html,报错SERE0014: Illegal HTML character: decimal 154 原因: 某些字符,特别是控制字符#x7F-#x9F ,在XM ...