由于我的配置,vim 将交换文件存储在与编辑文件相同的目录中。一般来说,这是可以的,但不在文件夹中~/ftp_mount
(以及下面的所有目录)。在这个目录中,我挂载了一个 ftp 服务器。
和
:set dir=/一些/路径
可以更改 vim 存储交换文件的位置(vim 文档)。是否可以将此配置限制为~/ftp_mount
以下所有目录?
禁用交换文件,设置目录并重新启用它似乎有效:
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
我正在匹配*
,而不是特别是我的路径,因为如果我希望它能够工作:
如何在要将此设置应用于 ( ~/ftp_mount
)的目录上使用 autocmd
autocmd BufNewFile,BufRead ~/ftp_mount/* set dir=/some/path