MacVim';与其他版本Vim中唯一的.swp文件相关的s设置,以及如何覆盖它们?

MacVim';与其他版本Vim中唯一的.swp文件相关的s设置,以及如何覆盖它们?,vim,macvim,Vim,Macvim,我已经随意使用Vim大约3年了(主要用于git提交消息),最近开始专门使用它进行文本编辑和编码,同时我正在学习一系列中间教程和资源。直到几周前,我主要使用Vim、NeoVim或iVim(在iOS上) 最近我安装了MacVim,并在Mac上使用iTerm时开始专门使用它。我注意到.swp文件的创建和管理方式存在一些差异。在我使用的其他版本的Vim中,.swp文件仅在我同时在多个Vim实例中打开一个文件时创建。似乎MacVim会为每个打开的文件创建.swp文件(我猜是出于备份/恢复目的)。MacVi

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

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

在起草这个问题之前,我快速搜索了一下:
vim macvim swp文件
,找到了一个结果,让我对如何解决我注意到的一个问题有了一些想法:

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

backup / nobackup
writebackup / nowritebackup
swapfile /noswapfile
但这并没有真正回答我的问题,即“有什么不同?”。我正在定期编辑我的
.vimrc
,并希望添加适当的设置,以在默认情况下在MacVim中获得相同的行为(同时也是)。MacVim与交换文件相关的设置方式有什么独特之处?是否存在上述三种设置的特定组合,或者是否涉及更多设置?如何设置我在Vim、NeoVim和iVim中注意到的相同默认行为


我已经阅读了和,但没有找到任何相关信息

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

文件:

_posts/2018-07-31-npm-201.markdown
交换文件:

_posts/2018-07-31-npm-201.markdown.swp
如果您试图编辑的文件已经存在交换文件,并且您决定仍对其进行编辑,则会在同一位置创建另一个交换文件,扩展名不同:
.swo
.swn
,等等

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

在我使用的其他版本的Vim中,
.swp
文件仅在我同时在多个Vim实例中打开一个文件时创建

这些“Vim版本”为:

  • 破碎的
  • 奇怪的配置
  • 不是维姆
似乎MacVim会为每个打开的文件创建
.swp
文件(我猜是出于备份/恢复目的)

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

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

如果文件在工作目录中,则为正常。如果不是,则工作目录可能是
“目录”
的一部分。如果不是,则表示您发现了一个bug

我不记得其他版本的Vim也这么做过,但它最近让我在全局Git ignore设置中添加了
*.swp


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

1。MacVim就是Vim;它以完全相同的方式完成Vim所做的一切。2.您描述的行为是预期的行为。3.这不是一个编程问题,所以您应该使用。是的,我理解MacVim正如您所说的“只是Vim”。Vim是高度可定制的,但大多数版本似乎符合相同的默认值。这种行为(在我看来)是不可预料的,因为没有其他版本的Vim在交换文件方面表现出相同的行为。我并不是说MacVim坏了,只是当涉及到这些设置时它是不同的,我想理解为什么。当我搜索答案时,我在上面链接的帖子中找到了最有用的信息,所以这里似乎是问我问题的好地方;它们根本不是Vim,因此它们不应该构成您理解Vim如何工作的基础。