3

如果我在 Vim 中编辑一个目录(比如 'foo'),那么 Vim 总是会创建一个名为 'foo/~' 的空目录。在我的 vimrc 中,我指定了 'nobackup'、'nowritebackup' 和 'backupdir=$TEMP/vim//'。使用 backupdir 设置,当我启用备份文件时,它们会按预期进入临时目录。

尽管如此,在 OS X 和 Windows 上,Vim 都会创建空的 '~' 目录,当然,这就像在我的机器周围留下非常危险的地雷(至少在 OS X 上,'rm -rf ~' 将是糟糕的一天的开始)。

我无法找到有关空“~”目录的任何信息,但通常有很多关于备份的信息。

如何禁用空“~”目录的创建?

4

1 回答 1

1

弄清楚了。在我的 vimrc 文件中,我有以下设置:

let netrw_home = "~"

我相信我最初这样做是为了防止 netrw 用“.netrwhist”和“.netrwbook”弄乱我的主目录。问题是波浪号没有扩展到我的主目录,而是 netrw 在当前目录中创建了一个名为“~”的文字目录来存储这些状态文件。

我使用的修复方法是未定义 netrw_home 变量,并让它使用“runtimepath”路径列表中第一个目录的默认值。我必须将我的主目录 ($HOME) 添加为我的运行时路径上的第一个目录,但到目前为止这似乎工作正常。

无论出于何种原因,我无法让 ~ 或 $HOME 在 Windows 上为 netrw_home 工作,但这可能是我对一些 Vim 细节的误解。我没有时间进一步调查,而且我现在已经解决了这个问题,所以这就是我要停下来的地方。

感谢上面的 Wayne Werner 做了一个快速实验,看看他是否有同样的行为。这就是把我踢向正确方向的原因。

于 2016-04-11T21:11:54.957 回答