VIM中diff的使用

1.启动diff

在VIM中开启diff的方式有很多,下面介绍几种常用的场景。

1.1 外部直接打开两个文件

# 直接使用vimdiff指令vimdiff  FILE_1  FILE_2# 使用vim指令加-d参数
vim -d  FILE_1  FILE_2

1.2 打开文件之后再进行文件比较

# 先打开一个文件,再打开另一个文件进行对比
vim FILE_1
:vertical diffsplit FILE_2
# 直接打开两个文件,在进行比较
vim -On FILE_1 FILE_2
:diffthis # 要在两个窗口都输入

2.改变文件位置

可以根据个人习惯和文件格式来更改对比文件的显示位置。

Ctrl-w K # 把当前窗口移到最上边
Ctrl-w H # 把当前窗口移到最左边
Ctrl-w J # 把当前窗口移到最下边
Ctrl-w L # 把当前窗口移到最右边

3.锁定和解锁

在进行文件比较时,默认是锁定了两个文件的滚动条的。

:set noscrollbind # 解锁
:set scrollbind # 锁定(会重新对齐)

4.移动光标

在修改文件时需要移动光标位置,VIM下的移动方式都可以,但是多了一个跳转到差异行的快捷键。

时间: 2024-11-05 20:43:17

VIM中diff的使用的相关文章

vimdiff: 使用Vim中强大的文件diff功能[转]

学习了一段时间的Vim,直到最近才发现Vim的diff功能是如此方便,对比代码变化再也不用到处去找diff软件或者依靠版本控制的diff了.强大的Vim. 下图是我在macVim中的diff效果. 下面是vimdiff的常见用法,总结了一下,不仔细看一遍手册,在各种场景下还真不一定能马上想到最合适的命令. 在终端中直接以diff模式打开Vim: 1 vimdiff file1 file2 [file3 [file4]] #或者 2 vim -d file1 file2 [file3 [file4

vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一个非常重要的思想:每个程序只实现单一的功能,通过管道等方式把多个程序连接起来,使之协同工作,以完成更强大的功能.程序只实现单一功能,一方面降低了程序的复杂性,另一方面,也让它专注于这一功能,把这个功能做到最好.就好像搭积木一样,每个积木只提供简单的功能,但不同的积木垒在一起,就能搭出大厦.汽车等等复杂的东西.

在 Vim 中设置 Tab 为4个空格

缩进用 tab 制表符还是空格,这不是个问题,就像 python 用四个空格来缩进一样,这是要看个人喜好的.在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活. 首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab / expandtab 说明: 其中 tabstop 表示一个 t

转:在VIM中保存编辑过的只读文件

你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown.这样做实在太麻烦了,以下的这个技巧就太方便了.当需要保存时,输入以下的命令: :w !sudo tee %

Vim中的Tab

Tab和缩进不是一回事. Tab是一个字符(制表符),其显示宽度可定义.可更改Tab键的映射关系,将其设置成n个空格,n由Tab自身宽度决定.缩进指的是一个概念,在Vim中可由>和<键控制增加和减少缩进量,缩进的填充单元可以是制表符也可以是空格,由expandtab的状态确定(noexpandtab/expandtab).一次“>”操作产生的缩进量可自定义,与制表符宽度不一定要一致. 以下是Vim相应的设置命令: set expandtab 更改tab映射为空格 set tabstop=

Vim 中文件目录浏览插件——NERD tree

说明 :vim的插件NERDTree用于使得vim窗口分左右窗口显示的用法说明.其中,左侧为目录的树形界面,简称为NERDTree界面,右则为vim界面. 一.配置步骤 下载地址: http://www.vim.org/scripts/script.php?script_id=1658 或者 http://download.csdn.net/detail/caoyingsdhzcx/5752889 树形目录插件NERDTree的安装方法,如下: 1. 在当前用户文件夹(例如simpman)下,建

老男孩教育每日一题-2017-05-15-说说你在vi/vim中常用的命令或快捷键

1.题目 2.参考答案 01:学会在vim中查询帮助 :help 或:h即可 :help G :help :wq 02.vi/vim 使用最基本方法 第一个里程碑-使用vi打开oldboy.txtvi /data/oldboy.txt默认是命令模式.第二个里程碑i  ->insert插入模式(编辑模式)  ->然后输入文本I am studying linux.第三个里程碑-按esc键我不想编辑了,退出编辑模式(插入模式),再次进入到命令模式第四个里程碑-保存并退出:wqw write 写入q

解决vi/vim中粘贴会在行首多很多缩进和空格的问题

解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进.若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进.解决办法:1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste

vim中.swp文件处理

参考: http://blog.csdn.net/lingdxuyan/article/details/4993868 http://www.cnblogs.com/softwaretesting/archive/2011/09/23/2185851.html 关于swp文件 使用vi,经常可以看到.swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件 以备不测(不测下面讨论),如果你正常退出,那么这个这个swp文件将会自动删除 . 不