将 .netrc 文件与 Vim 一起使用(作为 DreamWeavers FTP-客户端的替代方案)
Using .netrc-file with Vim (as an alternative to DreamWeavers FTP-client)
我正在尝试使用 Vim 作为 DreamWeavers 的替代品 FTP-client sidebar。但我希望 Vim 到 'remember' 我的登录名,- 所以我不需要每次需要连接时都获取 FTP-地址、用户名和密码远程服务器,进行一些更改。
我已经弄清楚了,可以设置一个 .netrc 文件,您可以在其中保存登录凭据(并可能使用 GPG 对其进行加密,我将在得到它之后进行研究)工作)。我可以找到无数关于如何设置 .netrc 文件的手册和教程,但没有关于如何实际使用这个 .netrc 文件的信息。
因此,如果我的 .netrc 文件如下所示:
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
然后如何连接到 <hostname2>
?我是否写 vim <hostname2>
- 如果是这样,那么如果我在同一主机上有多个不同的远程服务器(用户和密码凭证不同)怎么办?
理想情况下,我希望能够按照
的思路写一些东西
vim ftp://MY_OWN_NICKNAME_FOR_A_REMOTE_SERVER
此后 Vim 将在 .netrc 文件中找到凭据并将我连接到给定的服务器。我该怎么做呢?
.netrc 文件提供 vim 远程服务器的用户名和密码。在命令行上,当为 vim 提供与 .netrc 中定义的机器名称相匹配的 hostname 时,它会将用户名和密码插入 url。例如,如果我想连接到 ftp.server1.com 并自动登录,我需要在我的 .netrc 文件中设置以下内容:
$ < .netrc
machine ftp.server1.com login username password "secretpassword"
$ vim ftp://ftp.server1.com/
如果我想在我的 .netrc 中设置多个 hostnames,我只需添加一个新条目:
$ < .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"
可能令人困惑的是您不能为 hostname 添加别名。当我第一次开始使用此功能时,我认为 machine 是我可以提供的一个变量——但事实并非如此。也就是说,shell 别名将 fill-in 用于 vim 的缺失:
$alias server1=ftp://ftp.server1.com/
$vim $server1
注意:您需要在 url 的尾部 / 告诉 vim 您正在浏览。另请注意,使用 windows os 时会出现更多问题,详见 :help netrw。
我正在尝试使用 Vim 作为 DreamWeavers 的替代品 FTP-client sidebar。但我希望 Vim 到 'remember' 我的登录名,- 所以我不需要每次需要连接时都获取 FTP-地址、用户名和密码远程服务器,进行一些更改。 我已经弄清楚了,可以设置一个 .netrc 文件,您可以在其中保存登录凭据(并可能使用 GPG 对其进行加密,我将在得到它之后进行研究)工作)。我可以找到无数关于如何设置 .netrc 文件的手册和教程,但没有关于如何实际使用这个 .netrc 文件的信息。
因此,如果我的 .netrc 文件如下所示:
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
然后如何连接到 <hostname2>
?我是否写 vim <hostname2>
- 如果是这样,那么如果我在同一主机上有多个不同的远程服务器(用户和密码凭证不同)怎么办?
理想情况下,我希望能够按照
的思路写一些东西vim ftp://MY_OWN_NICKNAME_FOR_A_REMOTE_SERVER
此后 Vim 将在 .netrc 文件中找到凭据并将我连接到给定的服务器。我该怎么做呢?
.netrc 文件提供 vim 远程服务器的用户名和密码。在命令行上,当为 vim 提供与 .netrc 中定义的机器名称相匹配的 hostname 时,它会将用户名和密码插入 url。例如,如果我想连接到 ftp.server1.com 并自动登录,我需要在我的 .netrc 文件中设置以下内容:
$ < .netrc
machine ftp.server1.com login username password "secretpassword"
$ vim ftp://ftp.server1.com/
如果我想在我的 .netrc 中设置多个 hostnames,我只需添加一个新条目:
$ < .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"
可能令人困惑的是您不能为 hostname 添加别名。当我第一次开始使用此功能时,我认为 machine 是我可以提供的一个变量——但事实并非如此。也就是说,shell 别名将 fill-in 用于 vim 的缺失:
$alias server1=ftp://ftp.server1.com/
$vim $server1
注意:您需要在 url 的尾部 / 告诉 vim 您正在浏览。另请注意,使用 windows os 时会出现更多问题,详见 :help netrw。