我正在执行C-x v=来检查RCS控制下的文件的当前差异(即,它有一个后缀为,v
的关联文件)。然而,输出几乎不可读,因为我更改了每一行,比如说第12行。所以我得到了这些巨大的diff块,在那里我无法轻易地推断出哪一行被改成了另一行。
有没有办法让这个diff输出更可读、更可用(这样我就可以快速跳转到源代码)?
(我可以
- C-x v l查看旧版本,然后
- 在最后一个上执行f以检查它
- M-x构建文件
但这不是很方便)
您可能想尝试设置
(setq diff-switches '("-u"))
这样你的diff就会以统一的格式出现,这会更紧凑一些。如果这还不够,您可以尝试传递额外的标志来减小"上下文"的大小(默认情况下,前面3行,后面3行)。
在RCS中的文件上运行vc-diff
时,diff输出默认为"上下文diff"。这意味着旧的和新的区块一个在另一个之上显示,并突出显示差异。更现代的版本控制系统产生"统一diffs",每组更改线路的新旧版本相邻。
Emacs的diff模式可以将diff从一种格式转换为另一种格式。键入C-CC-u将上下文diff转换为统一diff,键入C-CC-d 例如,这个上下文diff: 将转换为这种统一的diff: 无论diff当前采用哪种格式,您都可以使用C-CC-C跳转到源文件中的相应行。如果找不到正确的文件,请使用M-x*** bar.txt 2013/11/19 14:00:03 1.1
--- bar.txt 2013/11/19 14:00:11 1.2
***************
*** 1,5 ****
one
two
! tree
four
five
--- 1,5 ----
one
two
! three
four
five
--- bar.txt 2013/11/19 14:00:03 1.1
+++ bar.txt 2013/11/19 14:00:11 1.2
@@ -1,5 +1,5 @@
one
two
-tree
+three
four
five
diff-tell-file-name
。