特定位置的文件的vim交换文件的特殊路径

时间:2014-08-31 14:11:37

标签: vim swapfile

由于我的配置,vim将交换文件存储在与编辑文件相同的目录中。通常,这没关系,但不在文件夹~/ftp_mount(以及下面的所有目录)中。在这个目录中我挂载了一个ftp服务器。

  

:设置dir = / some / path

可以更改vim存储交换文件的位置(vim documentation)。是否可以将此配置限制为~/ftp_mount以及以下所有目录?

2 个答案:

答案 0 :(得分:0)

如何在要将此设置应用于(~/ftp_mount)的目录上使用autocmd

autocmd BufNewFile,BufRead ~/ftp_mount/* set dir=/some/path

答案 1 :(得分:0)

禁用交换文件,设置目录并重新启用它:

  autocmd BufNewFile,BufReadPre *
        \ setl noswapfile noundofile |
        \ if expand('%:p') =~ "/my/custom/path" |
        \   setl undodir=. directory=. |
        \ else |
        \   setl undodir=~/.cache/nvim/undo directory=~/.cache/nvim/swap |
        \ endif |
        \ setl swapfile undofile

我正在匹配*,而不是我的路线,因为如果我希望它可以工作,

  1. 在我的自定义路径下打开一个文件。
  2. 从其他位置加载新文件。
相关问题