TCS*_*rad 291 linux vim diff vimdiff command-line-interface
我今天开始使用vimdiff了,并希望在基于Windows的差异编辑器上做一些我认为理所当然的事情(比如扩展/折叠差异部分,有完整的文件扩展/只有差异,上面有3个上下文行或者以下等).我目前只知道以下命令:
键盘快捷键:
do - 从其他窗口更改到当前窗口.
dp - 将当前窗口中的更改放入另一个窗口.
]c - 跳转到下一个更改.
[c - 跳转到上一个更改.
CTRL+ W,w- 切换到另一个分割窗口(CTRL+ W,CTRL+ W做同样的事情,以防CTRL稍后放开密钥)
有人能指出我正确的方向,所以我可以复制类似的功能吗?
例如,如果我可以扩展/折叠差异周围的线条会很好.
nin*_*alj 235
除了你提到的那些之外,我只是在分析以下内容时经常使用:
:diffupdate :diffu - >重新计算差异,在进行多次更改后很有用vim不再显示最小变化.请注意,只有在vimdiff中修改了文件后,它才有效.否则,使用:
:e 如果文件已在vimdiff之外修改,则重新加载文件. :set noscrollbind- >暂时禁用两个缓冲区上的同时滚动,重新启用:set scrollbind和滚动.您要求的大多数是折叠:vim用户手册关于折叠的章节.在差异之外,我有时会使用:
zo - >打开折叠.zc - >关闭折叠.但你可能会更好地服务于:
zr - >降低折叠水平.zm - >请多一个折叠级别.甚至:
zR - >完全减少折叠,我说!zM - >折叠最多!您要求的另一件事,使用n行折叠,可以在选项的vim参考手册部分找到,通过diff部分:
set diffopt=<TAB>,然后更新或添加context:n.将 vimdiff 设置为忽略大小写。
已经开始 vim diff
gvim -d main.sql backup.sql &
Run Code Online (Sandbox Code Playgroud)
我发现令人讨厌的是,一个文件的 MySQL 关键字是小写的,而另一个大写的文件几乎每行都显示差异。
:set diffopt+=icase
Run Code Online (Sandbox Code Playgroud)
这会动态更新屏幕,您可以轻松地再次将其关闭。