使用vim远程编辑serverB上的文件,只能从serverA访问
虽然我从未尝试过这个,但显然可以按照
here所述在vim中远程编辑文件.在我的特殊情况下,我需要访问的服务器只能从校园访问,因此我必须登录我的大学帐户所以:
ssh user@login.university.com 然后从那里登录到安全服务器,如下所示: ssh user@secure.university.com 我有无密钥ssh设置,所以我可以像这样自动化这个过程: ssh user@login.university.com -t "ssh user@secure.university.com" 无论如何在我的本地机器上远程编辑一个文件,如secure.university.com/user/foo.txt? 编辑: 我的意图是在我的本地机器上使用vim,因为它是不切实际的(移动.vim文件夹,复制.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”缺失 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |