如何让Mercurial忽略Vim的.swp文件?

3

我在使用vim编辑文件时尝试拉取一些更改,但在提交和合并等操作时遇到了如下问题:

alex@adebian:~/cs4290/p3$ hg status
R test
! project3_framework/protocols/.MI_protocol.cpp.swp
! project3_framework/protocols/.MSI_protocol.cpp.swp

我在我的项目中添加了一个 .hgignore 文件,并包含以下内容:

syntax: glob
*.cpp.swp

我已经关闭了vim会话(删除了文件),但是这些文件仍然出现。我该如何让Mercurial忽略.swp文件?

3个回答

8

! 符号表示Mercurial无法找到已添加到代码库中的文件。因此,您需要首先forgetremove这些文件。之后,它们将不再出现在 status 中,因为您已经将它们忽略了。


3

我同意zerkms的观点...忘记或删除那些文件以摆脱感叹号。此外,正如您可能已经注意到的那样,仅仅创建一个带有一些内容的.hgignore文件并不会通过存储库并删除匹配的文件。如果您已将foo.c添加到项目中,然后创建以下.hgignore:

syntax: glob
*.c

foo.c仍将是项目的一部分 - 您需要明确删除它。


2
你可以在你的 .vimrc 中使用 set directory=c:\\workfiles\\ 将交换文件写入“特殊”文件夹中。

这是一个有用的解决方法。唯一的缺点是如果您有来自不同文件夹的两个具有相同名称的文件。 - amccormack
1
刚在我的Linux系统上试了一下,得到了一个名为index.php.swp和index.php.swo的文件。看起来可以用,至少对我来说是这样。 - vbd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接