我今天开始使用vimdiff了,并希望在基于Windows的差异编辑器上做一些我认为理所当然的事情(比如扩展/折叠差异部分,有完整的文件扩展/只有差异,上面有3个上下文行或者以下等)。我目前只知道以下命令:
键盘快捷键:
有人能指出我正确的方向,所以我可以复制类似的功能吗?
例如,如果我可以扩展/折叠差异周围的线条会很好。
除了你提到的那些之外,我只是在分析以下内容时经常使用:
:diffupdate
:diffu
- >重新计算差异,在进行多次更改后很有用vim不再显示微小的变化。请注意,只有在vimdiff中修改了文件后,它才有效。否则,使用:
如果文件在vimdiff之外被修改,:e
将重新加载文件。您要求的大多数是折叠::set noscrollbind
。在差异之外,我有时会使用:
:set scrollbind
- >打开折叠。但你可能会更好地服务于:
zo
- >降低折叠水平。zc
- >还有一个折叠级别。甚至:
zr
- >完全减少折叠,我说!zm
- >折叠最多!您要求的另一件事,使用n行折叠,可以在zR
,通过zM
找到:
您还应该看看set diffopt=<TAB>
。
设置vimdiff忽略大小写
开始使用vim diff
context:n
我发现令人讨厌的是,一个文件的MySQL关键字是小写的,另一个是大写的,显示了几乎所有其他行的差异
user manual section on diff
这会动态更新屏幕,您可以轻松地再次关闭它
实际上,如果你做 gvim -d main.sql backup.sql &
,你将不需要添加额外的:set diffopt+=icase
。做同样的事情。
如上所述,ctrl + w,w可用于从窗格导航到窗格。
现在,您可以单独选择一个特定的更改并将其粘贴到另一个窗格,如下所示。我正在给出一个例如,好像我想将我的代码片段从窗格1更改为窗格2,目前我的光标位于pane1