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

时间:2018-08-26 01:20:40

标签: vim macvim

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

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

在提出此问题之前,我进行了快速搜索:vim macvim swp files,发现了一个结果,使我对如何解决我注意到的一个问题有了一些想法:

Vim Swap Files Not Deleting

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

backup / nobackup
writebackup / nowritebackup
swapfile /noswapfile

但这并不能真正回答我的问题,即“有什么不同?”。我正在定期编辑.vimrc,并希望添加适当的设置以默认情况下在MacVim中获得相同的行为(同时也是understanding what I am adding)。 MacVim与交换文件相关的设置方式有何独特之处?是上述三个设置的特定组合还是涉及更多设置?如何设置与Vim,NeoVim和iVim相同的默认行为?

我已阅读MacVim FAQTroubleshooting Guide,但未找到任何相关信息。

1 个答案:

答案 0 :(得分:0)

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

文件:

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

交换文件:

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

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

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

  

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

这些“ Vim版本”是:

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

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

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

  

MacVim似乎也将.swp个文件放入工作目录。

如果文件在工作目录中,那是正常的。如果不是,则工作目录可能是.swp的一部分。如果不是,则说明您发现了一个错误。

  

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

在其中有一个Vim部分是很常见的。