Vim发布脚本

时间:2011-04-29 17:07:29

标签: vim

我正在寻找一个vim脚本,当我保存时,将我的更改复制到第二个目录。在这种情况下,第二个目录位于我可以ssh到的VM上。 有什么建议吗?

4 个答案:

答案 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

相关问题