今天我开始使用vimdiff,我想在基于Windows的diff编辑器上做一些我认为理所当然的事情(比如展开/折叠一个diff部分,有完整的文件展开/只有上面或下面有三行上下文的diff,等等)。我目前只知道以下命令:
键盘快捷键:
-
do-将其他窗口中的更改获取到当前窗口中
-
dp-将当前窗口中的更改放到另一个窗口中
-
]c-跳转到下一个更改
-
[c-跳转到上一个更改
-
Ctrl+W,W-切换到另一个拆分窗口(Ctrl+W,Ctrl+W,以防稍后松开Ctrl键)
有没有人能给我指出正确的方向,这样我就可以复制类似的功能
例如,如果我可以展开/折叠diff周围的线,那就太好了
除了你提到的那些,我只在扩散时经常使用以下内容:
:diffupdate:diffu->;重新计算差异。在进行多次更改后,当Vim不再显示最小更改时,此功能非常有用。请注意,仅当文件在vimdiff内部被修改时,此功能才起作用。否则,请使用::e如果文件在vimdiff之外被修改,则重新加载这些文件:set noscrollbind->;暂时禁用两个缓冲区上的同时滚动,可通过重新启用:set scrollbind和滚动
您要求的大部分内容是折叠:Vim用户手册中关于折叠的章节。除Diff外,我有时使用:
zo->;打开折叠zc->;闭合折叠
但您可能会得到更好的服务:
zr->;降低折叠水平zm->;请再折叠一层
甚至:
zR->;我说,完全减少折叠zM->;折叠最多
您要求的另一件事,使用n行折叠,可在Vim参考手册选项部分,通过diff部分找到:
设置diffopt=<;TAB>;,然后更新或添加上下文:n
您还应该看看用户手册中关于差异的部分