我想和另一位程序员一起工作,并且希望源代码能够实时显示在我们两个屏幕上。这在 Mac OS x 或 Linux 上可行吗?我们将使用 OS X,但有时我们可能还需要添加一台 Ubuntu 计算机。
有没有办法使用 ssh、任何基于 shell 的程序,甚至是好的 GUI 来做到这一点?我以为 Coda 可以做到这一点,但它实际上不起作用。
有人这样做过吗?我不是在寻找 git/svn/或任何其他版本控制系统。这更像是一个实时编码会话。:)
编辑:为了更好地解释这种情况,假设我和我的朋友 Emily 想要合作,我应该在互联网上托管 SSH 吗?
...有时我在 OS X 上的共享设置中找到一个 SSH 地址。我是否可以只获取此 SSH 地址并将其提供给 Emily,她是否可以使用它,之后我们需要同时连接什么?
编辑2:有人能够通过互联网使用 Coda 做到这一点吗?
为什么我选择这个答案......尽管我发现 SubEthaEdit 非常有用,但我不想花 60 多美元(我 30 美元,我朋友 30 美元)购买它,因为我们已经使用了很多工具进行源代码编辑。我意识到我的朋友是 emacs 的忠实用户,而我是 vim 用户,而且 SSH 会让我自己更难进行设置。虽然将来我可能会认为后者是最好的解决方案。我选择了文档共享因为它是我们都知道如何使用的工具的附加组件,所以它是免费的,而且我觉得我能够同时工作而没有太多麻烦。
总结我需要一个能帮助我与朋友协作源代码的工具,它必须是 Mac 专用或多平台的。我选择了文档共享。
答案1
答案2
答案3
对于 SSH 或基于 shell 的解决方案,请查看 Linux 的“screen”。首先通过 SSH 连接到服务器(该服务器可以是两台机器中的一台,在这种情况下,您只需连接另一台)并运行以下命令。
在第一台计算机上:
$ screen -S my_screen
$ nano file.php
在第二台计算机上:
$ screen -x my_screen
答案4
您可以使用 X-forwarding 和 Emacs,就像过去的美好时光一样。
在一台机器上启动 Emacs。在另一台机器上,确保您有一个 X 服务器正在运行,并允许xhost <name>
第一<name>
台机器或第一台机器上工作的人的用户名。
然后在第一台机器上运行的 Emacs 中输入M-x make-frame-on-display
et voila,您应该在第二台机器上获得一个 Emacs 窗口,该窗口与在第一台机器上运行的 Emacs 共享内容。
然而,这可能不是您想要的,因为两个帧将始终同步:当一个用户更改缓冲区时,另一个窗口中也会发生这种情况。