如何使用 VIM 编辑 FTP 文件并避免每次都输入主机名?

Kee*_*ood 2 ftp vim sync

我需要使用 vim 编辑位于 FTP 服务器上的远程文件。没有 SSH 或 SFTP 访问。只是FTP。我尝试通过 curlftpfs 进行同步,文件出现在本地目录中,但我无法写入它们,出现各种错误,并且当我设法写入带有随机结尾的文件时,会在服务器上生成。index.php 在服务器上写为 index.phz、index.phy 等...

我安装了 sublime text 2,但在为我的显卡安装新驱动程序后无法再运行它。我也用 WINE 尝试过 n++,但在打开更深目录级别的 FTP 文件时没有运气。

我已经看到 vim 有多种方法可以编辑 FTP 上的文件,但每一种方法都需要键入:e http://[user@]machine/path(使用 netrw 插件)。我真的很想避免任何形式的重复,而是建立一个相对映射。奇怪的是,vim 没有解决方案,因为它主要是开发人员的工具,sublime 和 npp 已经以简单的方式解决了这个问题。在相同的主机名/路径等上输入和输入会破坏简单的 DRY 原则。

理想情况下,如果我可以使用一些同步工具在本地缓存文件,然后将它们上传到 ftp 映射本地路径 -> 远程,在 vim 写入文件后立即,或者我发出上传命令等(无需键入文件打开每次)。服务器上有很多文件,所以我无法记住它们,将它们缓存在本地对我来说很重要,这样我就可以快速访问它们并使用简单的命令上传。

我正在运行 Slackware 13.37 x64

rom*_*inl 5

您可以使用 netrw 显示远程目录的内容:

:e ftp://user@domain.com/ <-- note the slash at the end.
Run Code Online (Sandbox Code Playgroud)

从那里你可以在另一个窗口中打开一个文件,P或者在当前窗口中使用<CR>.

如果您丢失文件列表,请不要惊慌:它仍然存在,您可以使用:Rex.


或者简单地使用像 Filezilla 或 gFTP 这样的 GUI FTP 客户端及其“编辑于...”功能。