您的位置:首页 > 其它

CoVim:Vim编辑器的协作编辑插件​

2013-05-21 11:02 405 查看

CoVim:Vim编辑器的协作编辑插件

(转)伯乐在线注:本文综合编译自 fredk schott 发的公告和 CoVim 的使用说明。

今天我们宣布推出 CoVim 插件,提供多用户、实时协作功能,用于你最喜欢(或最不喜欢)的文本编辑器。CoVim 可让你远程编码、写作、编辑和协作等。该插件最初源于塔夫茨大学的一个高级项目,我们现在把它开源在 GitHub。CoVim 所具备的特性,也是 Vim 7.4 版呼声最高的需求之一。(请参见伯乐在线之前的翻译报道)。

我几乎在一年前开始参与 CoVim。我是想探索“共享课堂笔记平台”概念(顺带说一下,有人应该继续做这个),而我的项目搭档 Sam Haney 想着探索稍微更知名和更可靠的东西。所以我俩决定各退一步,于是乎 CoVim 就诞生了。

CoVim 的特性

Allows multiple users to connect to the same document online 允许多用户连接到相同文档;

Displays collaborators with individual cursors 用独立光标区分显示协作者;

Works with your existing configuration 和现有 Vim 配置兼容;

Easy to set up & use 易于安装和使用





安装

CoVim 需求编译版的 Vim,Python 2.5+。如果启动 Vim 有问题,请访问 FAQ / Troubleshooting 。Twisted 库也可用 via apt-get & yum 和 pip 来安装。

Pathogen 安装:

1

2

3
pip install twisted

cd ~/.vim/bundle

git clone git://github.com/FredKSchott/CoVim.git

Vundle 安装:

1

2

3
pip install twisted

Add Bundle'FredKSchott/CoVim'to your ~/.vimrc

vim +BundleInstall +qall

手工安装:

1

2
pip install twisted

Add client.vim & server.py to ~/.vim/plugin/

用法

启动 CoVim 服务器: :CoVim start [port] [name] (or, from the command line: ./server.py [port])
连接正运行的服务区: :CoVim connect [host address / 'localhost'] [port] [name]
断开连接: Quit Vim or :CoVim disconnect

How it Works

Vim 有内置的 Python 脚本,所以 Python 显然就是我们项目的选择。至于网络工具,我们用了 Twisted,一个强大的事件驱动网络引擎,也是用 Python 实现的。无论何时,用户对文档做出更改,或移动光标,客户端向服务器发送一个更新。服务器更新所有光标位置,然后给其他客户端发送更新。

所有更新都在 Vim 的缓冲区中,缓冲区就是文档文本的工作副本。现在也不是Bug或特性的问题,就是 Vim 如何展现文档的进展。记着保存,这是用户的职责。当然了,用户可随时保存想保存的东西。

使用场景

虽然CoVim看着显然很酷,但这并不能证明我们这一年的辛苦工作。所以要想想,我们能用 CoVim 来做神马?

我们最初着手解决的问题,也是困扰学生们的问题——在一台电脑上结对编程的烦恼。结对编程是一种很好的编程技艺,把令人沮丧的工作变成团队的努力,不过其物理局限性也让人头疼。就一台电脑和一个键盘,所以空间局限和切换人员中断了创意流。有了 CoVim,你就有了自己的屏幕和键盘,空间也再小了,切换人员时,也不会再浪费时间了。

学生并不是唯一受益的群体。教学助理(助教)在办公时,可以用 CoVim 来帮助多位学生;教授无需离开办公室,也可在学生们的代码中“穿梭”。其实助教完全可以远程办公,不管他们什么时候有时间。(这个点子好么?或许不是,但这绝对是 CoVim 在学术界的一个好例子。)

公司同样也能从 CoVim 受益。有问题,去办公室中一个个问?不用尝试去抽象描述问题,直接打开 Vim,让他们看看问题代码。你们公司在实践代码审查(code review)么?直接一起看代码,反馈也可通过一行又一行的内容展现。让共享代码变得容易,将增加任何公司中的协作,这意味着更好的代码质量和更大的成绩。

CoVim 的源码

CoVim 已放在 Github 了,陆续还有更多特性中(包括聊天、注释和管理员工具),所以请持续关注。

协作愉快!

英文原文:fredk schott,编译:伯乐在线-黄利民

译文链接:http://blog.jobbole.com/39821/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: