【问题标题】:Using .netrc-file with Vim (as an alternative to DreamWeavers FTP-client)在 Vim 中使用 .netrc 文件(作为 DreamWeavers FTP 客户端的替代方案)
【发布时间】:2017-01-15 17:57:44
【问题描述】:

我正在尝试使用 Vim 作为 DreamWeavers 漂亮的 FTP 客户端侧边栏的替代品。但是我希望 Vim 能够“记住”我的登录信息,所以我不需要在每次需要连接到远程服务器时获取 FTP 地址、用户名和密码来进行一些更改。 我已经弄清楚了,可以设置一个 .netrc 文件,您可以在其中保存登录凭据(并可能使用 GPG 对其进行加密,我将在完成此操作后对其进行研究工作)。我可以找到无数关于如何设置 .netrc 文件的手册和教程,但没有关于如何实际使用这个 .netrc 文件的信息。

如果我的 .netrc 文件看起来像这样:

machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>

那么我如何连接到&lt;hostname2&gt;?我是否写vim &lt;hostname2&gt; - 如果是这样,那么如果我在同一主机上有几个不同的远程服务器(用户和密码凭据不同)怎么办?

理想情况下,我希望能够按照

的方式写一些东西
vim ftp://MY_OWN_NICKNAME_FOR_A_REMOTE_SERVER

Vim 将在 .netrc 文件中找到凭据并将我连接到给定的服务器。我该怎么做呢?

【问题讨论】:

    标签: vim ftp .netrc


    【解决方案1】:

    .netrc 文件为 vim 提供远程服务器的用户名和密码。在命令行上,当 vim 提供与 .netrc 中定义的机器名匹配的主机名时,它会将用户名和密码插入 url。例如,如果我想连接到 ftp.server1.com 并自动登录,我需要在我的 .netrc 文件中设置以下内容:

    $ < .netrc 
    machine ftp.server1.com login username password "secretpassword"
    $ vim ftp://ftp.server1.com/ 
    

    如果我想在我的 .netrc 中设置多个主机名,我只需添加一个新条目:

    $ < .netrc 
    machine ftp.server1.com login username password "secret password"
    machine ftp.server2.com login username password "secretpassword1"
    machine ftp.server3.com login different_username password "secretpassword2"
    

    可能令人困惑的是您不能为主机名设置别名。当我第一次开始使用此功能时,我认为 machine 是我可以提供的变量——但事实并非如此。也就是说,shell 别名将填补 vim 的不足:

    $alias server1=ftp://ftp.server1.com/
    $vim $server1
    

    注意:你需要在 URL 后面加上 / 来告诉 vim 你正在浏览。另请注意,使用 Windows 操作系统时会出现更多复杂情况,详见 :help netrw。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-31
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多