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