iconoclast Asked: 2022-03-01 18:33:26 +0800 CST2022-03-01 18:33:26 +0800 CST 2022-03-01 18:33:26 +0800 CST 跨服务器比较文件 772 曾几何时,我记得大致是这样的: vimdiff <(scp://some_server/home/user/.zshrc) <(scp://some_server-qa/home/user/.zshrc) (其中some_server和some_server-qa在我~/.ssh/config的用户和密钥等中定义,因此没有必要将其包含在外壳中)。 问题是我无法弄清楚这项工作需要什么语法,而且我无法通过谷歌搜索找到任何东西。我敢肯定这里有人知道我错过了什么。我错过了什么? bash shell 2 个回答 Voted Best Answer Stéphane Chazelas 2022-03-01T22:39:36+08:002022-03-01T22:39:36+08:00 vim确实支持使用某些 URL 打开远程文件,因此您可以这样做: vimdiff scp://some_server{,-qa}/home/user/.zshrc 输入文件:h scp。vim 如果在构建时未启用该支持,您始终可以这样做: vimdiff -R <(ssh some_server cat /home/user/.zshrc) \ <(ssh some_server-qa cat /home/user/.zshrc) 尽管您将无法修改远程文件。 这-R是为了vim提醒您编辑这些文件是没有意义的(尽管您总是可以这样做::w !ssh host 'cat > file'将编辑后的文件发回(或者只是:w !ssh host '>file'如果您的登录shellhost也是默认zsh情况$NULLCMD下cat的位置))。 iconoclast 2022-03-02T19:22:00+08:002022-03-02T19:22:00+08:00 与往常一样,Stéphane 的回答非常巧妙。这只是一个附录。如果您觉得这有帮助,请也支持他的回答。 我无法(无论出于何种原因)让该scp://计划与我的系统一起使用,但该sftp://计划确实对我有用: vimdiff sftp://some_server{,-qa}/home/user/.zshrc
vim
确实支持使用某些 URL 打开远程文件,因此您可以这样做:输入文件
:h scp
。vim
如果在构建时未启用该支持,您始终可以这样做:
尽管您将无法修改远程文件。
这
-R
是为了vim
提醒您编辑这些文件是没有意义的(尽管您总是可以这样做::w !ssh host 'cat > file'
将编辑后的文件发回(或者只是:w !ssh host '>file'
如果您的登录shellhost
也是默认zsh
情况$NULLCMD
下cat
的位置))。与往常一样,Stéphane 的回答非常巧妙。这只是一个附录。如果您觉得这有帮助,请也支持他的回答。
我无法(无论出于何种原因)让该
scp://
计划与我的系统一起使用,但该sftp://
计划确实对我有用: