我经常收到通知我的Vim我的文件已在其他地方更改,因为我使用Dropbox。
然后我需要按
L
因为这是我唯一能看到朋友改变文件的方法。这迫使我使用他的版本,然后试着记住我所做的改变。
然而,这个程序对我来说变得困难,因为编辑率增加了。 我想
vimdiff [file_with_my_edits] [file_with_my_friend's_edits]
不知怎的,我的朋友的版本与我当前的文件有一些新的编辑。
当版本库相同但当前文件不同时,您如何vimdiff
当前文件与朋友的文件,而不会丢失任何修改?
答案 0 :(得分:8)
如果两个(或更多)人同时处理文件,则应使用版本管理系统,如subversion或git。正如您已经看到的,在这种情况下,dropbox不是解决方案。
答案 1 :(得分:6)
This vim tip提供了一个函数来将当前缓冲区与磁盘上的文件区分开来。它旨在向您显示自上次保存以来所做的编辑,但它也会向您显示您朋友所做的编辑。
答案 2 :(得分:1)
虽然我同意您应该使用源代码控制,但您可以在vim中完成所需的操作。您可以选择不加载朋友的编辑,将您的文件保存到新文件,然后使用vimdiff。你甚至可以在不离开vim的情况下完成所有这些工作:
:w file_with_edits.new
(将更改保存到新文件中):e file_with_edits
(丢弃您的更改):diffthis
(打开当前缓冲区的差异):vsplit
(打开垂直拆分,显示两个窗口中的当前文件)^w, right
(切换到正确的拆分):e file_with_edits.new
(打开您的更改):diffthis
(打开右侧的差异)所有这一切,源代码控制使这种事情变得微不足道(这是它的主要目标之一)。