Vim 发布脚本

发布于 2024-11-04 07:07:31 字数 82 浏览 0 评论 0原文

我正在寻找一个 vim 脚本,当我保存时,它会将我的更改复制到第二个目录。在本例中,第二个目录位于我可以通过 ssh 访问的虚拟机上。 有什么建议吗?

I'm looking for a vim script that, when I save, duplicates my changes to a second directory. In this case the second directory is on a VM that I can ssh to.
Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情泪▽动烟 2024-11-11 07:07:31

如果您想手动将其添加到您的 vimrc 中:

command! DuplicateFileRemotely !scp % user@remotehost:~/mylocation/

然后在命令模式下调用它:

:DuplicateFileRemotely

如果您想在每次保存文件时执行此操作,请将其也添加到您的 vimrc 中:

autocmd! BufWritePost * :DuplicateFileRemotely

If you want to do it manually add this to your vimrc:

command! DuplicateFileRemotely !scp % user@remotehost:~/mylocation/

Then call it in command mode:

:DuplicateFileRemotely

If you want to do it every time a file is saved add this too your vimrc as well:

autocmd! BufWritePost * :DuplicateFileRemotely
桃酥萝莉 2024-11-11 07:07:31

如果您可以在本地访问文件系统,那么您可以使用 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 文件。

If you can access the filesystem locally then you can use cp. Add this to your your .vimrc and change the path.

autocmd BufWritePost,FileWritePost *.* silent !cp <afile> /your/remote/path &

If you can only access ssh then use scp or rsync.

autocmd BufWritePost,FileWritePost *.* silent !scp -Cr <afile> ssh://hostname:remote/path &

If you just want this to happen for certain file extensions change the *.* to say *.py to only copy Python files for example.

南风几经秋 2024-11-11 07:07:31

您可以设置一个键映射来写入 2 个位置,例如:

map <C-s> :w<ENTER>:w /path/to/alt/dir/%<ENTER>

这会将 Ctrl-s 映射到您的双重保存,将文件保存到其当前位置以及具有相同文件名的备用目录。

you can set up a key mapping to write to 2 locations, for example:

map <C-s> :w<ENTER>:w /path/to/alt/dir/%<ENTER>

This will map Ctrl-s to to you double save, saving the file to it's current location and also to your alternate directory with the same file name.

凉风有信 2024-11-11 07:07:31

Vim 可以自动将副本保存到“备份目录”(假设您可以映射本地文件系统上的位置)。有关此选项的更多信息,请参阅 :h backupdir ,或在此处查看 Web 上的帮助: http://vimdoc.sourceforge.net/htmldoc/options.html#%27backupdir%27

Vim can automatically save copies to a "backup directory" (assuming you can map the location on your local filesystem). See :h backupdir for more information on this option, or view help on the web here: http://vimdoc.sourceforge.net/htmldoc/options.html#%27backupdir%27

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文