如何在Vim中更改为FTP服务器上的其他目录?

时间:2014-09-13 23:14:13

标签: vim ftp netrw

Vim有一个花哨的NetRW插件,让我输入

vim ftp://ftp.example.com/

并获得一个不错的目录列表,我可以通过在它们顶部按CR来编辑文件。

但是,我似乎无法通过目录执行此操作。在我按F1时出现的帮助文件中,它表示我应该能够:

BROWSING                                                netrw-cr {{{2

Browsing is simple: move the cursor onto a file or directory of interest.
Hitting the <cr> (the return key) will select the file or directory.
Directories will themselves be listed, and files will be opened using the
protocol given in the original read request.

但是,当我使用j / k导航到目录并按<cr>尝试打开它时,我得到:

somedirectory: Not a regular file

Vim尝试访问ftp://ftp.example.com/somedirectory。请注意,它没有添加斜杠,表示它是一个目录。

我为何会发生这种情况而感到茫然。如何在Vim中输入该目录,而不必退出Vim并重新输入vim ftp://ftp.example.com/somedirectory/

我在Ubuntu 14.04上运行Vim 7.4。

1 个答案:

答案 0 :(得分:1)

Vim似乎并不知道我的目录确实是一个目录,因为它在目录列表中没有显示/个符号。

幸运的是,我找到了一种方法来强制NetRW像文件一样充当目录:gd

FORCING TREATMENT AS A FILE OR DIRECTORY        netrw-gd netrw-gf {{{2

Remote symbolic links (ie. those listed via ssh or ftp) are problematic
in that it is difficult to tell whether they link to a file or to a
directory.

To force treatment as a file: use
        gf

To force treatment as a directory: use
        gd

因此,只需按gd而不是<cr>即可切换到光标下的目录。

我还不确定为什么NetRW认为我的目录是文件。帮助信息仅表示&#34;远程符号链接,&#34;他们不是(我认为)。它可能与我的Web主机(iPage)有关,它可能在任何地方使用符号链接而不是实际目录。或者也许是我刚才采取的措施。