当我输入"git diff"时,我想看到一个并排的差异,就像"diff -y"一样,或者喜欢在像"kdiff3"这样的交互式差异工具中显示差异.如何才能做到这一点?
说我得到了一个补丁git format-patch.该文件基本上是一个带有一些元数据的统一差异.如果我在Vim中打开文件,我可以看到哪些行已被修改,但我看不到更改行中的哪些字符不同.有没有人知道(在Vim或其他一些在Ubuntu上运行的免费软件)可视化每个角色的差异?
可视化每个字符差异的计数器示例是在执行时vimdiff a b.
更新时间:2010年12月12日星期五22:36:23
diffpatch对您使用单个文件的情况很有帮助.
2016年6月16日星期六17:56:10更新
在git 2.9中查看diff-highlight.这个脚本正是我最初寻求的.
我想使用'diff'来获得字符差异和字符差异.例如,考虑:
档案1
abcde
abc
abcccd
Run Code Online (Sandbox Code Playgroud)
档案2
abcde
ab
abccc
Run Code Online (Sandbox Code Playgroud)
使用diff -u我得到:
@@ -1,3 +1,3 @@
abcde
-abc
-abcccd
\ No newline at end of file
+ab
+abccc
\ No newline at end of file
Run Code Online (Sandbox Code Playgroud)
但是,它只向我显示这些行的变化.我希望看到的是:
@@ -1,3 +1,3 @@
abcde
-ab<ins>c</ins>
-abccc<ins>d</ins>
\ No newline at end of file
+ab
+abccc
\ No newline at end of file
Run Code Online (Sandbox Code Playgroud)
你得到我的漂移.
现在,我知道我可以使用其他引擎来标记/检查特定线路上的差异.但我宁愿使用一种可以完成所有工作的工具.
Ctrl+ C和Ctrl+有[什么区别?这些文件包含以下内容:
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
Note: If your <Esc> key is hard to hit on your keyboard, train
yourself to use CTRL-[.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the |InsertLeave| autocommand
event.
CTRL-C Interrupt current (search) command. Use CTRL-Break on
MS-DOS |dos-CTRL-Break|.
In Normal mode, any pending command is aborted.
似乎对命令的作用存在一些分歧. …
如果我执行,git diff我会看到整行呈红色。
有没有办法突出显示该行的变化?
我经常遇到只更改一行的差异。
突出显示线路的变化git diff对我来说会更方便。
git 版本 2.32.0
这应该适用于命令行(无 GUI)。
我:map! <C-q> :q <CR>在命令行模式下输入,然后返回正常模式,然后按ctrl-q,但vim不退出.为什么?
我正在尝试使用vim的compl-filenamefeature(Ctrl-XCtrl-F)来完成INSERT模式中的路径,但是我无法弄清楚如何在没有(暂时)结束完成模式的情况下遍历目录:
假设我想完成这条道路/etc/sysconfig/network-scripts/ifup.
我希望能够做到这样的事情:
/eCtrl-XCtrl-F /etc/ /etc/sysCtrl-F /etc/sysconfig/ /etc/sysconfig/netCtrl-F /etc/sysconfig/netconsoleCtrl-N /etc/sysconfig/networkCtrl-N /etc/sysconfig/network-scripts/ /etc/sysconfig/network-scripts/ifupCtrl-Y /etc/sysconfig/network-scripts/ifup
问题是,一旦我在路径匹配(如/etc/)之后开始键入*,它就会结束文件名完成.我希望它保持文件名完成,所以我仍然可以使用Ctrl-F,Ctrl-N等等.因为它结束完成,我必须Ctrl-XCtrl-F再次键入以重新启动它,并在此期间有用的完成弹出菜单消失.
我可以设置一个选项来改变它吗?
*通过'输入'这里,我指的是字符'isfname'- 当然,输入其他字符(如空格或标点符号)不应该继续文件名完成.