我已经随便使用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
,发现了一个结果,使我对如何解决我注意到的一个问题有了一些想法:
我还发现this post给人的印象是涉及以下设置:
backup / nobackup
writebackup / nowritebackup
swapfile /noswapfile
但这并不能真正回答我的问题,即“有什么不同?”。我正在定期编辑.vimrc
,并希望添加适当的设置以默认情况下在MacVim中获得相同的行为(同时也是understanding what I am adding)。 MacVim与交换文件相关的设置方式有何独特之处?是上述三个设置的特定组合还是涉及更多设置?如何设置与Vim,NeoVim和iVim相同的默认行为?
我已阅读MacVim FAQ和Troubleshooting Guide,但未找到任何相关信息。
答案 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版本”是:
MacVim似乎为每个打开的文件创建了
.swp
个文件(我猜是出于备份/恢复的目的)。
您猜对了,是的,这是每个Vim的预期行为。
MacVim似乎也将
.swp
个文件放入工作目录。
如果文件在工作目录中,那是正常的。如果不是,则工作目录可能是.swp
的一部分。如果不是,则说明您发现了一个错误。
我不记得其他版本的Vim这样做了,但是最近它导致我在全局Git忽略设置中添加了
'directory'
。
在其中有一个Vim部分是很常见的。