将.netrc文件与Vim一起使用(作为DreamWeavers FTP客户端的替代方案)



我正在尝试使用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文件中找到凭据,并将我连接到给定的服务器。我该怎么做?

.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中所述。

相关内容

最新更新