我试图用Vim代替DreamWeavers漂亮的FTP客户端侧边栏。但是我希望Vim能够记住'我的登录, - 所以每次我需要连接到远程服务器时,我都不需要获取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文件中找到凭据并将我连接到给定的服务器。我该怎么做呢?
答案 0 :(得分:2)
.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"
可能令人困惑的是您无法为主机名添加别名。当我第一次开始使用这个功能时,我认为机器是我可以提供的变量 - 但事实并非如此。也就是说,一个shell别名将填补vim的缺点:
$alias server1=ftp://ftp.server1.com/
$vim $server1
注意:您需要在网址上跟踪/告诉vim您正在浏览。另请注意,使用Windows操作系统时还有其他复杂情况,详见:help netrw。