Gvim / Vim 作为一个 FTP 程序?

Gvim / Vim as a FTP-program?

我是一个相当新的 Gvim-(或 Vim)- 用户,我完全爱上了它。早些时候,每当我处理 HTML- og PHP-文件时,我都使用 Dreamweaver,因为它很容易在文件之间跳转(NERDTree 为我解决了这个问题)。但在 Dreamweaver 中将文件上传到远程服务器特别容易(因为只需按 'CTRL-shift-U',之后 Dreamweaver 将(尝试)上传它)。它绝不是完美无缺的,但它在 90% 的时间里都能正常工作,这很可爱。而 NERDTree 做不到这一点。

我用谷歌搜索了一下,但一无所获。所以我很好奇,当将文件上传到远程服务器时,其他 Vim og Gvim 用户会做什么?他们真的是按 alt-tabbing 到 Filezilla 程序并通过它上传吗?看起来很笨拙。

尽管我担心当我问最后一个附加问题时这个话题会被关闭,但我仍然会冒这个险:万一 Vim 或 Gvim。这里的人还可以推荐哪些其他程序,以获得很好的 text-editors/coding-editors 和一个很好的集成 FTP-client?

我建议您采用适合您选择的版本控制系统的自动部署方法。有各种各样的解决方案:Capistrano, Fabric, beanstalkapp, and many others. There are lower tech solutions like rsync or use git push.

但是,如果您必须使用 FTP 而您不能使用部署脚本,那么我建议您在文件为 created/modified/deleted 时使用文件观察器(例如 grunt, guard, gulp). These programs will watch your file and then execute any command or plugin (e.g. guard-upload)。

这是 Vim 内置的,每个 Vim 安装都带有标准的 netrw 插件。具有讽刺意味的是,NERDTree 旨在部分取代 netrw...但我认为它只取代本地目录的 netrw。

您在评论中表示担心保留本地副本。别担心。只需编辑您的本地副本,保存它,然后在您准备好上传时:

:w ftp://example.com/path/to/file

这与您在本地系统上保存文件的第二个副本的方式完全一样。如果您想继续使用本地副本,请务必使用 :w 而不是 :saveas

NERDTree 有可能(尽管不太可能)与此产生一些冲突,因为它旨在部分取代 netrw。如果您遇到问题,可以尝试禁用 NERDTree,但我认为它的设计很好玩。

建议使用基于FUSE的第三方工具+一些GUI工具方便挂载。这种方法的优点是您不仅可以使用 Vim 编辑文件而不会分心,还可以将 UNIX shell 的所有功能用于您的任务。