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

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

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

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

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

参考

  1. :h synIDattr
  2. :h diff_hlID
  3. @twitter
  4. vimdiff 的跳转
  5. vimdiff: Jump to next difference inside line?
Help
[count]gg 跳转到第 [count] 行,默认第 1 行。
[count]G 跳转到第 [count] 行,默认最后一行。
[count]j 向下跳转 [count] 行,默认跳转一行。
[count]k 向上跳转 [count] 行,默认跳转一行。
/ 开始搜索。按 <Esc> 退出。
gh 跳转到首页。
gb 跳转到博客首页。
gw 跳转到 Wiki 首页。
gt 跳转到我的 Twitter Profile 页。
gp 跳转到我的 Github Profile 页。
? 打开帮助。按 <Esc> 退出。