2010年8月30日星期一

Diff 模式下,让光标直接跳转到被修改的文本处

Vim 的 Diff 功能非常优秀。有一个我非常喜欢的特性是:完全相同的地方, 会被折叠隐藏起来(上下文除外)。还可以很方便的在各个差异点之间做出修改合并和快速跳转。

不过默认的 [c]c 两种跳转方式,目前只能跳转到差异点的行首。对于只修改了 行内部分文本内容(一般底色是浅红色)时,我更希望直接跳转到有变化的文本(底色是 深红色的部分)上。

感谢 tocer ,我初步实现了两个版本 gits:556810

  1. v1: 仅支持跳转到 DiffChange 的第一个 DiffText
  2. v2: 支持 DiffChange 行多个 DiffText

参考

  1. :h synIDattr
  2. :h diff_hlID
  3. https://twitter.com/hotoo/status/22227282177
  4. vimdiff 的跳转
  5. vimdiff: Jump to next difference inside line?

没有评论:

发表评论