不使用X-Forwarding进行真正的远程编辑,使用Vim等

时间:2013-09-27 18:27:25

标签: c vim ide

我目前正在开发一个使用C servlet编写的相当大的Web项目(利用GWAN Web server)。在过去,我使用了几个IDE作为我的LAMP / PHP作业,比如Eclipse。

我的Eclipse问题是你可以在本地镜像项目,这在这种情况下是不可能的,因为我在Mac上工作(服务器不能在OSX上运行),或者使用“远程”视图,保存时会重新上传文件。

在后一种情况下,文件仅在上传时部分写入,这使得这对于正在运行的Web服务器不合适,或者如果在上载期间连接丢失,则文件可能会损坏。另外,对于更改某些字符,上传整个文件对我来说似乎效率低下。


所以我在想:

是不是可以让IDE按照每个SSH打开Vim并在那里镜像我的更改,然后只需:w(保存)?或者使用某种差异文件进行更改?

第一个将是优先的,因为它具有Vim .swp文件的附加优势,这使得其他人知道有人已经在编辑文件时。


我目前的解决方案是使用ssh + vim,但后来我失去了Eclipse和其他更高级IDE的所有酷炫功能。

另外,关于X-Forwarding:我不喜欢它的原因是速度。它感觉比在本地编辑慢,并且占用不需要的带宽,当我想要做的只是“文本编辑”时。

P.S。:我找不到更合适的问题标签,特别是没有“远程”标签,但如果你知道,可以随意添加。此外,如果还有其他类似问题,请随意指出 - 我找不到任何问题。

非常感谢。

2 个答案:

答案 0 :(得分:2)

如果您担心必须传输整个文件以进行微小更改,我想到的唯一解决方案是(连续或按需)运行一个镜像远程站点的rsync作业你的本地系统(和后面)。 rsync协议只传输增量信息。根据{{​​3}},变化是原子的。

答案 1 :(得分:1)

另一种可能性:在Mac上运行虚拟机中的所有内容。服务器和IDE /文本编辑器都在同一个虚拟机上,因此您不必担心网络问题。

因为虚拟机上的源代码属于某种VCS,所以经典代码→测试→提交过程是微不足道的(至少在理论上)。