每次我尝试打开.vimrc
文件时都会收到此消息。我正在vimtutor
另一个终端中使用,但我认为我没有打开任何额外的 .vimrc
文件。为什么我会看到此错误以及如何修复它?
E325: ATTENTION
Found a swap file by the name ".vimrc.swp"
owned by: subhrcho dated: Wed Dec 26 05:54:45 2012
file name: ~subhrcho/.vimrc
modified: YES
user name: subhrcho host name: slc04lyo
process ID: 26176
While opening file ".vimrc"
dated: Mon Jan 28 22:45:16 2013
NEWER than swap file!
(1) Another program may be editing the same file.
If this is the case, be careful not to end up with two
different instances of the same file when making changes.
Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r .vimrc"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".vimrc.swp"
to avoid this message.
Swap file ".vimrc.swp" already exists!
答案1
交换文件已存在一个月(12 月 26 日),因此删除它可能比较安全。那天,你可能杀死了一个 Vim 实例(或者它崩溃了),留下了交换文件。Vim 永远不会自行清理这些文件,你必须自己删除它(或者选择删除选项(当 Vim 询问你时)。
顺便说一句,recovery.vim——显示恢复文件的差异插件极大地增强了交换文件体验,例如通过显示更改的差异。
答案2
vi
使用交换文件保留您编辑的副本直到您保存或放弃它们。
您会看到此错误,因为:
您正在编辑
.vimrc
两次(不太可能,因为您只使用了vimtutor
)。vi
.vimrc
在被编辑时被杀死。
在后一种情况下,vi
无法清理交换文件.vimrc.swp
,因此它会很好地询问您是否要恢复更改或放弃它们:
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r .vimrc"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".vimrc.swp"
to avoid this message.
如果您没有做任何更改.vimrc
(例如,您曾经vi
打开过该文件——但在将来会使用less
),只需删除该文件:
$ rm .vimrc.swp
如果您对文件进行了更改,请使用 打开它vi
并按R。您可能会收到错误E309:
E309: Unable to read block 1 from .vimrc.swp
在这种情况下,请按上述说明删除交换文件。如果您可以打开该文件,请输入:
:recover
查看文件并使用以下命令保存:
:x
然后删除交换文件以删除该消息。
答案3
例如,如果您在 vim 仍在运行时关闭计算机,就会发生这种情况。您可以安全地手动删除 .vimrc.swp 文件,或者在 vim 中按“d”键,在粘贴错误后,系统会询问您是否删除。