Vim:停止“现有交换文件”警告

时间:2009-07-08 13:42:29

标签: vim

我不知道为什么,但似乎无论我如何退出Vim,它总是留下交换文件。因此,每当我再次打开该文件时,我就会对现有的交换文件产生令人恼火的错误。每次我都要选择“删除”。我真的希望这会停止。有什么东西可以放在我的.vimrc告诉它,“只要删除交换文件,如果它存在并让我一个人呆着?”

8 个答案:

答案 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手册条目。除非

,否则您不应该正常看到这些文件
  1. 您的VIM实例崩溃
  2. 您无意中针对同一文件运行两个 VIM实例
  3. 我经常做后者,在两个终端中对相同的文件运行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