gpt4 book ai didi

vim - 使用 vim 远程编辑服务器上的文件,只能从服务器访问

转载 作者:行者123 更新时间:2023-12-04 20:15:54 30 4
gpt4 key购买 nike

尽管我从未尝试过,但显然可以如 here 所述在 vim 中远程编辑文件。 .在我的特殊情况下,我需要访问的服务器只能从校园访问,因此我必须像这样登录我的大学帐户:

ssh user@login.university.com

然后从那里登录到安全服务器,如下所示:
ssh user@secure.university.com

我设置了无 key ssh,所以我可以像这样自动化这个过程:
ssh user@login.university.com -t "ssh user@secure.university.com"

无论如何可以远程编辑文件,例如 secure.university.com/user/foo.txt在我的本地机器上?

编辑:

我的意图是在我的本地机器上使用 vim,因为它是不切实际的(移动 .vim folder ,复制 .vimrc )并且在某些情况下是不可能的(使用某些设置重新编译 vim,修补 vim 源,安装语言美化器)在本地机器上使用 vim远程机器按照我希望的方式运行。我想要的是发出这样的东西(这不是准确的 scp,我知道)
vim scp://user@login.university.com scp://user@secure.university.com//home/user/foo.txt

最佳答案

好吧,经过一些工作,我想通了。首先,您必须编辑(或创建)您的 .ssh/config文件如所述 here .出于我们的目的,我们将添加这样的一行,它实际上添加了一个代理。

Host secure
User Julius
HostName secure.university.com
ProxyCommand ssh Tiberius@login.university.com nc %h %p 2> /dev/null

然后我们可以简单地复制(通过 scp )文件 secure.university.com:/home/Julius/fee/fie/fo/fum.txt像这样到本地计算机
scp secure:/home/Julius/fee/fie/fo/fum.txt fum.txt

对此进行扩展,我们可以像这样远程将其加载到 vim 中:
vim scp://secure//home/Julius/fee/fie/fo/fum.txt

或使用 badd像这样:
:badd scp://secure//home/Julius/fee/fie/fo/fum.txt

为了简化我的生活,我将此快捷方式添加到我的 .vimrc最常用子文件夹的文件:
nnoremap <leader>scp :badd scp://secure//home/Julius/fee/fie/fo/fum.txt

到目前为止,vim 已经证明非常清楚这是一个远程文件,所以如果 C 文件包含这样的文件:
#include "foo.h"

它不会提示缺少“foo.h”

关于vim - 使用 vim 远程编辑服务器上的文件,只能从服务器访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469645/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com