Vim的SWP文件会干扰库方面Vimdiff(Vim swp files interfere wit

2019-09-18 17:29发布

我的设置是使用vim(具体的MacVim图形模式)来编辑源文件,然后怎么办?(再次在图形模式)使用方面Vimdiff(水银)库的diff。 有时候,当我做一个diff,VIM给我的错误:

交换文件 “〜/ NN / src目录/ IMM /模型/ injector_node / .values_table.py.swp” 已经存在!

我该如何解决? 我可以命令然后停止生产SWP文件,或忽略它们,或者它的SWP文件写入到一个不同的地方Vimdiff可以?

Answer 1:

是的,(也许),是的。

要关闭交换文件:

set nobackup
set nowritebackup
set noswapfile

要更改的交换文件(我的优先选择)位置:

" Set the directory of the swap file
" The // indicates that the swap name should be globally unique
set directory=~/.vim/tmp//,/tmp

在这里,我在它设置tmp目录下.vim 。 参见:h 'directory' ,找出哪些选项的每个部分代表。

至于让Vimdiff可以忽略掉的文件,我不太清楚。 但是,错误可能发生,因为当你检查与水银的diff文件,你有同样的文件已经在开放的MacVim。 如果你只是在执行DIFF之前关闭文件,那么你应该罚款。



Answer 2:

我会建议不同的方法:而不是使用水银的命令行界面来查看文件之间的差异,使用添加了VCS支持,在此情况下,您既不需要关闭任何东西,也做交换文件的东西VIM插件之一。

例如,我的金 ,你可以使用<leader>aD (映射到:AuVimDiff )来查看当前打开的缓冲器及其存储库版本,然后之间的差异<Leader>X切换回普通视图(如果你还没有编辑过任何东西它甚至会恢复开启/关闭的折叠)。 如果你这样做let g:aurum_vimdiffusewin=1 ,并使用垂直或水平(根据“diffopt”)同样大小的拆分,然后我的脚本将重用相邻的窗口之一。

<leader>agD可以查看在多个标签在vimdiff同时分裂在库中的所有的改变的所有文件(不包括添加和删除的文件):它被映射到:AuVimDiff full 。 据我所知,这个功能几乎是独一无二的:有一些脚本善变其做同样的工作,但它不与其他VCS插件集成。 再次, <leader>X以关闭所有选项卡。 本来就已经打开的缓冲区将不会关闭,别人也会。

我可以推荐的另一种插件VCSCommand 。



Answer 3:

我知道这个问题是不是一岁,现在多,但我可能会建议铹 ,插件集成到善变VIM,由梦幻般的灵感逃犯的git的插件。 他们让你在做什么(和很多其他的东西CVS)用一些简单的命令容易得多。 他们没有给我说了这一点; 插件只是真的很不错!



文章来源: Vim swp files interfere with repository vimdiff