各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff。 而Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足所有这些需求,甚至能够提供更多的强力工具。 在最近的工作中,因为需要做很多的文件比较和合并的工作,因此对Vimdiff的使用做了一个简单的总结。我们先来看看vimdiff的基本使用。 启动方法 首先保证系统中的diff命令是可用的。 Vimdiff的基本用法就是: # vimdiff FILE_LEFT FILE_RIGHT 或者 # vim -d FILE_LEFT FILE_RIGHT 图一就是vimdiff命令的执行结果的画面 Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。
使用 vimdiff 作为 Git 的合并工具确实可能会让新手感到困惑,但它是一个功能强大的工具,一旦掌握了它,就可以非常高效地进行代码合并和比较。 以下是一个简短的教程,旨在帮助理解 vimdiff 的基本用法以及如何利用它来进行 Git 合并。 Git配置 在开始之前,需要知道如何将vimdiff设置为Git的合并工具。 false 这将把Git设置为默认的合并工具,在合并时显示共同祖先,并禁用打开vimdiff的提示。 git config merge.tool vimdiff: 这会将 vimdiff 设置为默认的合并工具。 使用vimdiff解决merge冲突 解决这个冲突可以输入以下命令: git mergetool 执行上述命令后,Git会尝试使用vimdiff作为合并工具来解决冲突。
其中,vimdiff 是 Vim Pro 中一个非常有用的功能,用于比较和合并文件差异。本文将详细介绍如何像 Vim Pro 一样使用 vimdiff。 使用 vimdiff要像 Vim Pro 一样使用 vimdiff,需要按照以下步骤进行设置和操作:步骤 1: 打开 vimdiff打开终端或命令行界面,输入以下命令:vimdiff file1 file2 执行该命令后,Vim 将会以 vimdiff 模式打开,并显示两个文件的差异。步骤 2: 导航差异在 vimdiff 模式下,可以使用一些命令来导航差异并查看文件内容。 步骤 4: 保存和退出完成文件差异的比较和合并后,可以执行以下命令保存并退出 vimdiff::wqa:保存所有文件并退出 vimdiff:qa! :强制退出 vimdiff,不保存修改根据需要选择适当的命令,以保存修改或者放弃修改并退出 vimdiff。结论vimdiff 是 Vim Pro 提供的一个强大功能,用于比较和合并文件差异。
在 windows 下有如 Beyond Compare 这样的文本对比工具,而在 Linux 其实预装了很好用的文本对比工具 → vimdiff 使用方法很简单: vimdiff [options] file1 file2 [file3 [file4]] 比如这样: vimdiff Release Release.new 效果是这样的: 可以使用 Ctrl + w + 方向键 # 切换到前/下/上
可经将它的默认 diff 工具修改为vimdiff。 配置如下: 首先打开 git config 文件 vim ~/.gitconfig 增加配置项 [difftool] prompt = false [diff] vimdiff tool = vimdiff [difftool "vimdiff"] path = /usr/bin/vimdiff 打tag //为git打tag, 第一次需要在前面加一个v git tag
作为命令行的比较工具,我们仍然希望能拥有简单明了的界面,可以使我们能够对比较结果一目了然;我们还希望能够在比较出来的多处差异之间快速定位,希望能够很容易的进行文件合并; vimdiff 使用 Vim的diff 模式是依赖于diff命令的,且vimdiff中快捷键与vim有共通的地方; Vimdiff的基本用法就是: # 打开两个对比文件 vimdiff FILE_LEFT FILE_RIGHT vim (diff "put") #如果希望把另一个文件的内容复制到当前行中,可以使用命令 do | (diff "get",之所以不用dg,是因为dg已经被另一个命令占用了) #在修改一个或两个文件之后,vimdiff 上下文的展开和查看 描述:比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作,Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。 vimdiff FILE_LEFT FILE_RIGHT WeiyiGeek.
作为命令行的比较工具,我们仍然希望能拥有简单明了的界面,可以使我们能够对比较结果一目了然;我们还希望能够在比较出来的多处差异之间快速定位,希望能够很容易的进行文件合并; vimdiff 使用 Vim的diff 模式是依赖于diff命令的,且vimdiff中快捷键与vim有共通的地方; Vimdiff的基本用法就是: # 打开两个对比文件 vimdiff FILE_LEFT FILE_RIGHT vim (diff "put") #如果希望把另一个文件的内容复制到当前行中,可以使用命令 do | (diff "get",之所以不用dg,是因为dg已经被另一个命令占用了) #在修改一个或两个文件之后,vimdiff 上下文的展开和查看 描述:比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作,Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。 vimdiff FILE_LEFT FILE_RIGHT ? WeiyiGeek.
alias alias vi='TERM=xterm-256color ~/usr/bin/vim' alias vim='TERM=xterm-256color ~/usr/bin/vim' alias vimdiff ='TERM=xterm-256color ~/usr/bin/vimdiff'
二 实践 2.1 vimdiff vimdiff 工具比较直接非常简单。 vimdiff file1 file2 2.2 利用 python difflib 模块 #!
/bin/bash RM=/bin/rm PHP=/usr/bin/php CURL=/usr/bin/curl DIFF=/usr/bin/diff VIMDIFF=/usr/bin/vimdiff format > $OLD_FILE request "$HOST" "$NEW" "$URI" | format > $NEW_FILE if [[ "$VIM" == "Y" ]]; then $VIMDIFF Bash Bash: Preserving Whitespace Using set and eval 使用的时候,允许使用多种工具,缺省情况下会优先使用「colordiff」,需要的话还可以激活「vimdiff
/bin/sh DIFF="vimdiff" LEFT=${6} RIGHT=${7} $DIFF -f $LEFT $RIGHT 这样,当执行svn diff 的时候会调用vimdiff 显示diff
比如要改用 vimdiff 的话: git config --global merge.tool vimdiff Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff
diff a.txt b.txt 2c2 < b --- > c comm comm a.txt b.txt a b c comm -12 a.txt b.txt a 两个文件中都有的 vimdiff vimdiff a.txt b.txt
3. core.filemode 让git忽略对文件权限的修改 [core] filemode = false 4.使用vimdiff呈现Git diff差异 [diff] tool = vimdiff [difftool] prompt = false [alias] d = difftool 使用时只需将用到git diff的地方换为git d就可以了。
作为命令行的比较工具,我们仍然希望能拥有简单明了的界面,可以使我们能够对比较结果一目了然;我们还希望能够在比较出来的多处差异之间快速定位,希望能够很容易的进行文件合并; 由于,vimdiff 命令依赖于 vim、diff命令的,相当于vim -d命令,所以vimdiff中快捷键与vim有共通的地方; 语法参数: 用法: vim [参数] [文件 ..] weiyigeek.top-vimdiff命令示例 示例2.vimdiff模式下行间光标移动 # 可看左右两侧的屏幕滚动是同步的,这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐 Ctrl - w - L(把当前窗口移到最右边) 示例3.vimdiff 模式下的文件合并,以消除差异。 示例4.在vimdiff中上下文的展开和查看 比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作,Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考,其他的相同的文本行被自动折叠
-资源利用率报告 -时序报告 -UFDM报告 -Control Set报告 -布线状态报告 -功耗报告 一旦涉及到“对比”就要用到一些工具,例如Beyondcompare,但这个工具不是开源的;或者vimdiff ,这个是开源的,但是脱离了Vivado,需要首先打开vim,再通过vimdiff命令加载待比较的两个文件。
s/表达式/替换/g 替换当前行的所有匹配表达式 %s/表达式/替换/g 替换文件中的所有匹配表达式 %s/表达式/替换/gc 替换文件中的所有匹配表达式,每次替换前确认 5 对比文件 这里列几个vimdiff 的操作命令: 打开两个文件: vim -d file1 file2 或 vimdiff file1 file2 如果已经打开了文件file1,再打开另一个文件file2进行比较: :vert diffsplit
Vim 对于熟悉 Vim 的用户而言,vimdiff 是一款强大的工具,它能够并排比较两个文件,并利用颜色和标记来突出显示差异。 install vim [On OpenSUSE] sudo pkg install vim [On FreeBSD] 运行以下命令以在VIM编辑器中并排打开两个文件: vimdiff 使用 vimdiff 或 meld 进行全面的视觉化比较。 Reference [1] Source: https://www.tecmint.com/compare-files-linux/
: rebase的使用规则 1、不要在公用的分支上执行rebase 2、主要的分支进行保护 git diff git diff 常见diff工具: diff ——仅展示某一行的增加(+)或减少(-) vimdiff ——比diff看起来要更直接 IDE ——强大的工具,展示清晰,使用方便 vimdiff bugfix01.txt bugfix02.txt
使用 vimdiff直观查看环境变量 对于刚才讲到的三种环境变量的查看 :export、 env、 set 我们还可以通过 vimdiff 工具来直观的比较它们之间的差别: [root@VM_0_17_ centos ~]# export|sort>export.txt [root@VM_0_17_centos ~]# set|sort>set.txt [root@VM_0_17_centos ~]# vimdiff