【问题标题】:How to tell Vim to not continue to generate "~" files如何告诉 Vim 不要继续生成“~”文件
【发布时间】:2019-12-16 05:15:21
【问题描述】:

我知道“Why does Vim save files with a ~ extension?”是 10 年前问的。

我尝试使用该讨论中的以下修复,将以下内容放入我的 .vimrc 文件中:

set nobackup       "no backup files
set nowritebackup  "only in case you don't want a backup file while editing
set noswapfile     "no swap files

但它不起作用。我仍然被~ 文件弄得乱七八糟,我想阻止这些文件的生成。有什么办法吗?

我认为部分问题是上述行后面是 .vimrc 文件中的一些样板代码,这些代码撤消了我的命令:

if has("vms")
  set nobackup          " do not keep a backup file, use versions instead
else
  set backup            " keep a backup file (restore to previous version)
if has('persistent_undo')
    set undofile        " keep an undo file (undo changes after closing)
  endif
endif

我将我的命令放在此代码下方,不再生成备份文件,但我仍在获取撤消文件。

【问题讨论】:

  • 不要把解决方案放在你的问题中。 SO 不是留言板,它更像是在线问答参考或食谱。因此,问题和答案是分开的,必须分开保存。请参阅 meta.stackoverflow.com/a/271399/128421meta.stackoverflow.com/q/267434/128421。此外,请勿在文本中使用“已编辑”或“已更新”标签。我们可以知道发生了什么变化。相反,将信息合并到问题中,就好像它最初存在一样,以保持可读性。

标签: vim


【解决方案1】:

我知道你说过这不是你想要的,但你真的确定吗?

您为什么不想要备份或撤消文件?前者非常适合崩溃恢复,后者非常适合撤消许多会话前的事情。仅仅因为“从不”,“我从不需要它们”可能是错误的。

如果您依赖 git,请继续。我喜欢它。但它无法恢复它从不知道的东西,比如你在会话中写的代码崩溃了。

您为什么不喜欢这些文件?将撤消文件保存在自己的隔离目录中非常简单,再次告诉 git 忽略所有交换文件非常简单。我会告诉你,踢球:

对于 undo 目录,我的 vimrc 中有这 4 行(是的,只有 4 行):

set undofile undodir=~/.undo
if !isdirectory(expand(&undodir))
  call mkdir(expand(&undodir), "p")
endif

对于 git,只需在你的全局 gitignore 中执行此操作:

*.*~
*.sw*

您可以使用core.excludesfile 配置该文件。

如果您担心磁盘空间问题,那就买一个更大的磁盘。它的价格并不高,而且这些文件很小,所以我不确定这是你真正的问题。

【讨论】:

  • "“我从不需要它们”可能是错误的,因为“从不”。“哦,真的。但有些人需要艰难地学习。
【解决方案2】:

将以下内容添加到 .vimrc 文件会停止生成撤消文件:

set noundofile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多