vim 在当前工作目录中创建临时文件

vim creates temporary files in the current working directory

我通常在我的 vimrc 中设置我的备份目录如下。

set backupdir=~/vimtmp,/tmp,.
set directory=~/vimtmp,/tmp,.

这是因为所有 *.*~ 都进入了 vimtmp 文件夹。

但是,NERDTree, Tagbar 等某些插件会在我当前的工作目录中创建它们的临时文件。例如,启动这些插件时会创建以下文件。

  [[buffergator-buffers]]
  __Tagbar__
  NERD_tree_3

这真是个恼人的问题,因为当我使用版本控制系统时,这些文件会在某些文件夹中创建,有时我会不小心将它们推送到中央仓库。

你能给我一些解决这个问题的建议吗?例如,我如何专门为插件设置当前工作目录,以便它们将使用该目录作为临时文件。

非常感谢。

查看我自己的 vimrc 文件后,我发现以下自动命令导致了问题。我使用此命令在创建文件时自动保存文件。然而,这个命令的副作用是它也保存了所有缓冲区(甚至 NERDTree、TagBar 等)。因此,它弄乱了我的工作目录。所以,通过禁用以下命令,我解决了这个问题。

" evil command
" autocmd BufNewFile * :write