5

默认情况下,Vim~会在备份文件中附加一个波浪号。我知道有一个自定义备份文件扩展名的配置选项:如果您backupext=.bak在 .vimrc 文件中设置,您的备份文件将.bak附加到它们而不是波浪号。

我想知道让 Vim 自动将字符添加到备份文件名的最佳方法是什么。具体来说,我希望 Vim.在继续附加波浪号的同时添加句点~

(如果您想知道为什么,我使用 KDE 并且不喜欢 Dolphin 显示备份文件 - 请参阅http://forum.kde.org/viewtopic.php?f=17&t=82350)。

我也查看了这个线程,但我不想创建自定义备份目录,我只想在备份文件名前添加一个字符。

4

2 回答 2

3

一种潜在的解决方案是

mkdir ~/.vim/backup

然后添加

set backupdir=~/.vim/backup

在你的 ~/.vimrc 中,这样你就不必看它们了。

但是,如果您想将它们保存在同一个目录中,您可以在编写它们时重命名它们,如下所示:

au BufWritePost * exe "silent !mv ".expand("%:p").&bex." ".expand("%:p:h")."/.".expand("%:t").&bex
于 2012-08-21T20:29:52.083 回答
0

您可以使用 vim 的 backupdir 选项将备份写入特定目录(甚至是工作目录中的特定目录,请参阅http://vim.wikia.com/wiki/Remove_swap_and_backup_files_from_your_working_directory)另一个选项是删除 vim 自己的备份文件功能并自己更换。我对 Vimscript 的熟悉程度比我希望的要低,但据我所知:

:au BufWritePre * exe 'write! ' expand("%:h") . "." . expand("%:t")

如果您想使用 backupdir 但避免覆盖文件,请使用类似

:au BufWritePre * let &backupext ='@'.substitute(substitute(substitute(expand('%:p:h'), '/', '%', 'g'), '\', '%', 'g'),  ':', '', 'g').'~'

(从https://stackoverflow.com/a/9528517/49047窃取)

于 2012-08-21T21:08:02.887 回答