我正在寻找一个vim脚本,当我保存时,将我的更改复制到第二个目录。在这种情况下,第二个目录位于我可以ssh到的VM上。 有什么建议吗?
答案 0 :(得分:1)
如果你想手动将它添加到你的vimrc:
command! DuplicateFileRemotely !scp % user@remotehost:~/mylocation/
然后在命令模式下调用它:
:DuplicateFileRemotely
如果你想在每次保存文件时都这样做,也可以添加你的vimrc:
autocmd! BufWritePost * :DuplicateFileRemotely
答案 1 :(得分:0)
如果您可以在本地访问文件系统,那么您可以使用cp。将其添加到您的.vimrc并更改路径。
autocmd BufWritePost,FileWritePost *.* silent !cp <afile> /your/remote/path &
如果您只能访问ssh,请使用scp或rsync。
autocmd BufWritePost,FileWritePost *.* silent !scp -Cr <afile> ssh://hostname:remote/path &
如果您只是希望某些文件扩展名出现这种情况,请将*.*
更改为*.py
以仅复制Python文件。
答案 2 :(得分:0)
您可以设置键映射以写入2个位置,例如:
map <C-s> :w<ENTER>:w /path/to/alt/dir/%<ENTER>
这会将Ctrl-s映射到你的双重保存,将文件保存到它的当前位置,也保存到具有相同文件名的备用目录。
答案 3 :(得分:0)
Vim可以自动将副本保存到“备份目录”(假设您可以映射本地文件系统上的位置)。有关此选项的详情,请参阅:h backupdir
,或在此处查看网络帮助:http://vimdoc.sourceforge.net/htmldoc/options.html#%27backupdir%27