MacVim的设置与.swp文件的关系与其他版本的Vim有何不同,我如何覆盖它们?



我已经随便使用 Vim 大约 3 年了(主要用于 git 提交消息(,最近开始专门使用它进行文本编辑和编码,同时我通过一系列中级教程和资源。直到几周前,我主要使用Vim,NeoVim或iVim(在iOS上(。

最近,我安装了MacVim,并开始在Mac上使用iTerm时专门使用它。我注意到.swp文件的创建和管理方式存在一些差异。在我使用过的其他 Vim 版本中,只有当我同时在多个 Vim 实例中打开一个文件时,才会创建.swp文件。似乎MacVim为每个打开的文件创建.swp文件(我猜是出于备份/还原目的(。MacVim似乎也将.swp文件放入工作目录中。我不记得其他版本的 Vim 这样做了,但它最近导致我向我的全局 Git 忽略设置中添加了*.swp

在起草这个问题之前,我快速搜索了一下:vim macvim swp files并找到了一个结果,它给了我一些关于如何解决我注意到的问题之一的想法:

Vim交换文件不删除

我还发现这篇文章给人的印象是涉及以下设置:

backup / nobackup
writebackup / nowritebackup
swapfile /noswapfile

但这并不能真正回答我的问题,即"有什么不同?我正在定期编辑我的.vimrc,并希望添加适当的设置以默认在MacVim中获得相同的行为(同时也了解我正在添加的内容(。与交换文件相关的MacVim设置方式有何独特之处?上面提到的三个设置是否有特定的组合,或者是否涉及更多设置? 如何设置我在 Vim、NeoVim 和 iVim 中注意到的相同默认行为?

我已阅读 MacVim 常见问题解答和故障排除指南,但没有找到任何相关信息。

交换文件的默认位置由:help 'directory'确定。给定默认值,Vim 将首先尝试为其创建交换文件的文件的目录,并附加.swp扩展名。如果它无法在那里创建交换文件,它将尝试'directory'中的下一个位置:

该文件:

_posts/2018-07-31-npm-201.markdown

交换文件:

_posts/2018-07-31-npm-201.markdown.swp

如果您尝试编辑的文件已经存在交换文件,并且您决定仍然对其进行编辑,则会在同一位置创建另一个交换文件,扩展名不同:.swo.swn等。

我上面描述的是正常的、预期的行为。这就是MacVim的工作方式。

在我使用过的其他 Vim 版本中,只有当我同时在多个 Vim 实例中打开一个文件时,才会创建.swp文件。

这些"Vim版本"是:

  • 破碎
  • 奇怪的配置,
  • 不是维姆。

似乎MacVim为每个打开的文件创建.swp文件(我猜是出于备份/还原目的(。

你猜对了,是的,这是每个 Vim 的预期行为。

MacVim似乎还将.swp文件放入工作目录中。

如果文件在工作目录中,这是正常的。如果不是,则工作目录可能是'directory'的一部分。如果不是,则您发现了一个错误。

我不记得其他版本的 Vim 这样做过,但它最近导致我在我的全局 Git 忽略设置中添加了*.swp

在那里有一个 Vim 部分是很常见的。

最新更新