我不知道为什么,但似乎无论我如何退出Vim,它总是留下交换文件。因此,每当我再次打开该文件时,我就会对现有的交换文件产生令人恼火的错误。每次我都要选择“删除”。我真的希望这会停止。有什么东西可以放在我的.vimrc
告诉它,“只要删除交换文件,如果它存在并让我一个人呆着?”
答案 0 :(得分:39)
在.vimrc
添加:
set shortmess+=A
来自文档:help shortmess
:
A don't give the "ATTENTION" message when an existing swap file
is found.
答案 1 :(得分:11)
Mac OS上的Command-Q退出终端窗口,并崩溃窗口中运行的每个应用程序。
要退出VIM,您必须使用普通的VIM命令,例如:q
。
答案 2 :(得分:10)
请参阅VIM recovery手册条目。除非
,否则您不应该正常看到这些文件我经常做后者,在两个终端中对相同的文件运行2个VIM,却没有意识到。 '交换文件'消息是我正在做的指示。
也许你已经忘记了一个VIM会话(背景?)?
答案 3 :(得分:10)
有插件可以"做正确的事情"自动为Vim交换文件:vim-autoswap。
从主页:
处理交换文件很烦人。大多数情况下你必须处理交换文件,因为你要么在另一个窗口中打开相同的文件,要么是先前崩溃留下的交换文件。
这个插件可以帮助你在这些情况下做什么:
- 文件是否已在其他窗口中的另一个Vim会话中打开?
- 如果是,请切换到我们正在编辑该文件的窗口。
- 否则,如果swapfile比文件本身旧,只需删除它。
- 否则,打开文件只读,以便我们查看它并保存它。
答案 4 :(得分:5)
设置noswapfile
答案 5 :(得分:2)
对于当前目录的路径中的某个目录,您可能没有足够的权限。它发生在我身上。
答案 6 :(得分:2)
使用vim编辑器打开文件时,将创建扩展名为.swp的相应交换文件。在系统崩溃时编辑文件,则不会删除创建的交换文件。因此,当您打开同一文件时,消息显示为“.filename.c.swp”已存在。为了避免这种情况,我们必须在开始工作之前删除所有交换文件。
rm filename.c.swp
文件名。延期。 SWP
答案 7 :(得分:1)
将它放在你的vimrc文件中。
if has("win32") || has("win64")
set directory=$TMP
else
set directory=/tmp
end