1

几个月来我一直在专门使用 Vim (MacVim),我喜欢它。不过,在使用 Vim 之前,我使用了 Coda(我在 OSX 上),我想念 Coda 的一件事是它标记我的文件以便在我编辑文件时通过 FTP 发布的方式。然后我可以选择单独上传修改后的文件,或者一次性发布所有文件。

在 Vim 中有什么可以做到这一点或类似的吗?

我知道 netrw 可以直接通过 FTP 进行编辑,但是我的所有站点都在本地作为在线站点的镜像运行,因此我需要在本地编辑并在需要时远程发布文件。我已经用谷歌搜索了解决方案,但找不到任何东西。

在编辑器中,我在 Vim中的工作效率要高得多,但是在我单独编辑文件时,不得不打开一个 FTP 程序并在文件之间寻找和啄复制是一种真正的痛苦,并且在我在网站上工作时总体上会降低工作效率与在 Coda 工作相比。

欢迎任何建议:)

4

3 回答 3

0
  1. Transmit、Cyber​​duck 和 YummyFTP(我知道的那些)都有自己的“自动文件夹同步”版本,您可以在其中本地工作,并且任何修改过的文件都会在更改时上传:您设置了一个“观察者”,无需点击特殊按钮或又是捷径。

  2. 如果您只想使用 MacVim,您可以编写一个小命令,在保存时上传当前文件:一个使用当前文件路径构建scp命令的脚本。但这对我来说似乎不是很便携/实用。似乎有些人已经写过类似的东西:here and there

  3. 正确的方法是(不仅在我看来):

    • 将所有东西都放在某种 VCS 下,比如 Git、Subversion 或 Mercurial 或任何随你所愿的东西

    • 在本地克隆/结帐中编写代码并在本地服务器上测试它

    • 只提交工作代码

    • 将里程碑推送到您和您的客户用来测试所有内容的登台服务器,这部分可以通过提交后挂钩或类似的东西自动化

    • 仅在生产服务器上部署经过验证的更改。

    前面提到的所有版本控制系统都可以直接从 Vim 的命令行中使用:!git commitor :!svn update... 如果您需要更多抽象,Fugitive(仅限 Git)或VCSCommand(多 VCS,我的选择)可以提供帮助。

关于由于上传文件而导致的生产力损失:我认为这很正常,因为您本质上执行的任务非常不同,神经需求也非常不同。在浏览器中预览布局更改、在 Photoshop 中查找颜色或任何其他类似任务时,也会遇到这种减速带。我不知道如何在 Vim 中试用 Photoshop、Chrome 的开发工具或 Outlook,而且我认为这样的小玩意不会真实存在,所以你可能不得不忍受它。

于 2011-10-28T11:02:55.917 回答
0

你可以试试git-ftp - 一个基于 git 的命令行 ftp 客户端。然后,您可以将项目作为 Git 存储库进行管理,并且 git-ftp 只会上传标有 Git 的文件 - 并且只有在它们发生更改时才会上传。

缺点是你将不得不学习 Git——这对于你需要的东西来说有点过分了。好处是你将学习和使用 Git。

于 2011-10-28T22:57:42.547 回答
0

从那以后,我偶然发现了一个与 Transmit 一起使用的Vim 插件(我碰巧将它用作我的主要 FTP 客户端),并允许我在编辑时使用简单的键盘映射 (Ctrl+U) 将当前文件上传到服务器。

这在一个非常简单的解决方案和一个足以显着提高我的生产力所需的解决方案之间取得了很好的平衡。

任何更多的建议仍然欢迎!

于 2011-10-31T06:02:27.810 回答