Vim 从机器 B 通过机器 A 编辑文件

标签 vim ssh macvim scp

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




例如,我有两台远程机器。假设,A,B。
通常我可以执行 vim scp://A/path/file 在本地远程编辑 A 的文件。
那么,有没有办法直接使用vim从主机编辑只能从A访问的机器B?非常感谢。

拓扑:
+------------------------------------------------- --------------+
| |
| |
| +--------------+ +-----------+ +-----------+ |
| | | | | | | |
| |主机 | +----> |一个 |+--->|乙 | |
| | | | | | | |
| +--------------+ +-----------+ +-----------+ |
| |
+------------------------------------------------- --------------+

最佳答案

我同意@Conner,这是一个 ssh 隧道问题,但无论如何这里是一个可能的答案..

  • 安装 netcat在主机“A”上
  • 将此添加到您的 $HOME/.ssh/config 中:
    Host RemoteHost
        Hostname B
        User UsernameOnB
        Port 22
        ProxyCommand ssh UsernameOnA@A 'nc %h %p'
    

  • 您必须将“A”、“B”、“UsernameOnA”和“UsernameOnB”替换为 A 和 B 的匹配主机名或 IP 地址(并​​检查 netcat 是否安装为“nc”或“netcat”我见过两个都..)

    之后,您应该能够:
    $ vim scp://RemoteHost/path/to/file
    

    如果您对两个系统都具有公钥访问权限,则此设置最有效,否则将提示您输入密码。

    关于Vim 从机器 B 通过机器 A 编辑文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272523/

    相关文章:

    linux - 无法拉取 .vim/目录

    node.js - 我如何在 Node JS 中通过 ssh 执行 sudo 命令?

    ruby - 为什么 macvim 不总是使用 ruby​​ 1.9.3?

    search - Vim - 搜索和替换结果

    recursion - 连续两次相同的 echo 调用在 Vim 函数中具有不同的输出

    networking - Rsync(或ssh)到EC2上的远程Docker容器

    vim - 如何在 vim 中刷新 CommandT 可用的文件

    python - 在 (mac)vim 中击键插入代码行,用于 pdb

    linux - 如何在删除/完全重新安装 vim 后找回 vim 文件?

    git - 用于推送的 Git native 协议(protocol)或 SSH 协议(protocol)之间的区别