有没有办法配置vim,以便每次进行保存时,而不是创建临时.swp
,假设我正在编辑文件name_of_the_file.txt
,程序会自动执行创建一个包含先前保存的文件,以保存的数据和时间命名,例如name_of_the_file-05-17-2017-11:20.txt
在一个文件夹中,比方说~/.vim-bckp/name_of_the_file/
?或者,更好的是,使用自定义命令进行保存以执行上述请求,并避免因轻微更改而充斥硬盘驱动器。
答案 0 :(得分:2)
这个脚本可以解决问题。您可以将其命名为vimBackup或任何名称,不要使用现有的命令名称。然后,您可以将命令复制到$ PATH变量中的路径中,或者使用包含此脚本的自定义脚本文件夹追加$ PATH变量。然后你就可以在不使用完整路径的情况下使用它来执行它。
#!/bin/sh
[[ $1 == "" ]] && echo "Command expect a file path" && exit 1
[[ ! $# == 1 ]] && echo "Command expect only one parameter" && exit 1
[[ -w $1 ]] && cp $1 $1_$(date +%Y-%m-%d_%H:%M) # if exist and writable make a copy
vim $1
答案 1 :(得分:0)
我为此写了writebackup plugin。这变成了一个完整的插件套件:
:WriteBackup
命令,但不是必需的。所以,一旦我做了备份,我就不需要考虑明确触发一个。我可以查看差异,甚至还原以前的版本。当然,如果你可以使用" full"版本控制系统(如Git或Subversion),使用它。但是对于在整个文件系统中分布的所有小配置来说,这个很好。