温馨提示:本文翻译自stackoverflow.com,查看原文请点击:configuration - Why VIM backup filenames are not correct? 'backupdir' option not performing as expected
backup configuration vim

configuration - 为什么VIM备份文件名不正确?

发布于 2020-04-11 12:10:29

我正在构建一个自定义的vim​​rc来改善我的工作流程,我真的很喜欢设置集中目录以将所有备份,交换和撤消文件保持在一起的想法,如下所示:

" === BACKUP SETTINGS ===
" turn backup ON
set backup
set backupdir=~/.vim/backup//

" === SWAP FILES ===
" turn swap files ON
set swapfile
set directory=~/.vim/swap//

" === UNDO FILES ===
" turn undofiles ON
set undofile
set undodir=~/.vim/undo//

斜杠双斜线应该导致文件名扩展,其中,最终的备份/交换/撤消文件名将是完整路径,并%替换成每一个/,例如%home%username%path%to%your%file.ext

一切都适用于交换和撤消文件,但是备份拒绝工作,以file.ext~不带完整路径扩展名的格式生成文件名,这意味着当我编辑两个具有相同名称的文件时,第一个文件的备份会丢失(被第二)。

有没有人知道这个问题的线索?

更新:自Vim 8.1.0251起,此错误已修复。

查看更多

提问者
Victor Schröder
被浏览
105
Ingo Karkat 2014-11-06 20:50

这似乎是一个'backupdir'选项不支持完整的绝对路径翻译成一个文件名(使用%的路径分隔符)喜欢'directory''undodir'这样做。至少没有提及:help 'backupdir'

由于这不一致,并且我看到了您的用例,因此您应该在vim_dev邮件列表中提交请求实际上,(长时间)补丁队列(:help todo.txt)中已经存在这样的补丁

7   The 'directory' option supports changing path separators to "%" to make
    file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
    Patch by Christian Brabandt, 2010 Oct 21.

请在vim_dev邮件列表上进行游说,以提高优先级!