使用gvim(v.7.4.488)编辑源代码时,我想对vcs进行一些更改(我在Ubuntu linux中从命令行使用git 2.1.4)。
git --status
显示我更改了哪些文件。但是,它还会显示.*.swp
当前可见缓冲区的vim (如果文件包含未保存的更改,以及所编辑的文件与.*.swp
-file 相同)。当然,git可以忽略这些文件,或者vim可以将交换文件存储在其他位置(请参见vim.wikia或stackoverflow上的此问题)。但是,我喜欢.*.swp
-files git --status
包含未保存的更改时显示的内容,因为它表明我正在以与我认为的状态不同的状态提交文件。
当保存的文件与-file相同时,如何避免出现.*.swp
-files 的误报,同时能够看到要提交的文件与我用vim编辑的文件处于不同的状态?git --status
.*.swp
.*.swp
当磁盘上的文件和vim中的文件不同时,是否只能使用-files?- 还有其他方法可以检测未保存的文件吗?
与检测交换文件是否暗含未保存的文件相比,将@elyashiv和@VanLaser的注释组合起来会导致更简单的方法:
- 不要让git忽略。*。sw [po]文件;
- 提交时,如果
git --status
显示.*.sw[po]
-files ,则:wa
在vi中执行;和, - 添加并提交。
git commit
……
:wa
用来确保没有未保存的文件。