LINUX.ORG.RU

Реализована одна из самых востребованных фич в VIM: совместная работа над документом. Collaborative Editing for Vim

 , ,


1

2

Наиболее востребованным фичреквестом (№4 в текущем списке) является:

№   points       voters     feature
4   176  (-14)   66  -7     add collaborative editing: changes made to a buffer show up in another Vim in a second 
а именно: возможность совместной работы над документом.

Fred K. Schott рад представить вашему вниманию: CoVim - Collaborative Editing for Vim

Основные возможности текущей ревизии:

  • Легкая настройка и использование
  • Идеально подходит для парного программирования
  • Отображение участников совместного редактирования разными курсорами
  • Работа с вашей текущей конфигурацией (.vimrc)

Подробнее в блогозаписи Фрэда.

Демонстрация, исходный код и информация об установке на сайте проекта.

Быстрая установка единственной зависимости и плагина через патоген Тима Попа:

pip install twisted && git clone git://github.com/FredKSchott/CoVim.git ~/.vim/bundle/CoVim

★★☆

Проверено: Shaman007 ()

Оказывается для емакса есть минор-мод, который работает с внешним сервером на эрланге, то есть можно написать клиентов для любого редактора.

https://github.com/emacsattic/shbuf

loz ★★★★★ ()

Оно полностью свелосипедировано или основывается на существующих технологиях? Rudel для emacs умеет как минимум gobby, засчёт чего можно работать с широким спектром пользователей альтернативных редакторов/сред/ОС. Было бы здорово, если бы вимеры вошли в их число.

Laz ★★★★ ()

Так они же клиент-сервер полноценный реализовали!

То есть теперь можно оставить vim на работе открытым, подключиться из дома и продолжить работать с того места, где остановился. Я понимаю, что это раньше можно было обойти с помощью screen/tmux, но все равно еще одна возможность не повредит.

Надо поставить и попробовать, как это реализовано.

anonymous ()
Ответ на: комментарий от yvv

Не понял, а разве всякие VCS не для этого?

@аноним

Чем это лучше распределённой системы контроля версий типа git или mercurial?

Так ведь без коммита сосед ничего не увидит. А зачем коммит, если над кодом сейчас работаешь, и это никакая не более менее окончательная версия. И сигнала нет, что вот сосед закоммитил что-то, надо смержить со своим - да и волокиты было бы столько.

gag ★★★★★ ()
Ответ на: комментарий от insider

кто мешает пользоваться старыми версиями?

репы бубунты мешают

q11q11 ★★★★★ ()

Теперь осталось запилить совместное форматирование диска.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

Теперь осталось запилить совместное форматирование диска.

Совместную компиляцию же. Компилируется только тот код, который ты писал сам. Твой напарник сможет сам исправлять варнинги.

unt1tled ★★★★ ()

в notepad++ видел аналогичный плагин. Интересно совместить возможно? Какой способ обмена информации(сеть, pipe, memory) ?

Atlant ★★★★★ ()

Ура, наконец-то, голосование сработало! Хотя и жаль, что на питоне. Надо посмотреть на скорость работы.

Редакторов для совместного редактирования мало - по возможностям именно совместной работы gobby/infinoted неплох, но как редактор - полностью неюзабелен, лишь PoC (proof-of-concept).

XVilka ★★★★ ()
Последнее исправление: XVilka (всего исправлений: 1)

Офигенная фича. Пока не знаю зачем она, но был бы функционал — а применение найдется :)

vurdalak ★★★★★ ()

киллер фича! ждем когда кто-то реализует позицию № 3

der_looser ★★ ()
Ответ на: комментарий от vurdalak

У меня были случаи, например, когда это требовалось. Например, совместный реверс-инжиниринг, когда не у всех есть деньги на IDA Pro, а radare2 тогда не имел поддержки 16 бит, приходилось использовать вывод ndisasm в gobby. А дальше уже каждый брал на себя определенную часть и работал. Но это ужасно неудобно было, gobby даже подсветки синтаксиса ассемблера не имеет, вот и был использован vim/tmux/screen.

XVilka ★★★★ ()
Ответ на: комментарий от XVilka

А в чем фишка именно редактировать файл совместно? Просто положить под систему контроля версий, и пусть каждый коммитит свои изменения.

vurdalak ★★★★★ ()
Ответ на: комментарий от loz

Это слишком трушно и ынтерпрайзно.

anonymous ()
Ответ на: комментарий от vurdalak

Так круто же. Пишешь строчку кода, букву ты, букву сосед ;) А с ВКС не интересно все просто и откатиться легко.

mx__ ★★★★★ ()
Ответ на: комментарий от mx__

Наркомания какая-то. Я вообще никогда не видел, чтобы разные люди работали над одним файлом. Если такое происходит, значит файл на over 9000 строк кода, и надо срочно разбивать его на модули.

vurdalak ★★★★★ ()
Ответ на: комментарий от unt1tled

Совместную компиляцию же. Компилируется только тот код, который ты писал сам. Твой напарник сможет сам исправлять варнинги.

Однажды лебедь, рак и щука компилили ведро на виме...

Napilnik ★★★★★ ()
Ответ на: комментарий от vurdalak

Я наблюдал, как несколько французов так XEP писали... :) Ну, как наблюдал, глянул да закрыл. Какую-то онлайновую тулзу юзали.

Binary ★★★★★ ()

Поздравляю осчасливленных и авторов!

А лично сам я - говорю без тени сарказма - очень хотел бы дожить до того дня, когда мне эта возможность пригодится.

anonymous ()
Ответ на: комментарий от Binary

XEP писали

Долго думал, откуда французы знают русский и зачем такие развлечения. Потом понял, что буквы латинские.

vurdalak ★★★★★ ()

Python, Twisted, Vim? Уже хочется поиграться!

Выглядит полезно, если придётся что-то кодить не в одиночку.

А если товарищей будет много, мельтешение курсоров будет новым скринсейвером.

KM155TM2 ()
Ответ на: комментарий от vurdalak

Ну да, они пишутся в собственном XML-формате, а потом с помощью XSLT конвертятся в HTML. Вот они этот XML-ник и редактировали. Не знаю, чем им не угодили системы управления версиями, видимо, они там ещё и VoIP параллельно использовали, я не знаю. Я вообще почти всегда не понимаю их технических решений, если уж начистоту.

Binary ★★★★★ ()
Ответ на: комментарий от vurdalak

откуда французы знают русский

Откуда в России два Парижа?

anonymous ()

Пошел по ссылке на википедию.

Па́рное программи́рование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист («ведущий») управляет компьютером и, в основном, думает над кодированием в деталях. Другой программист («штурман»[1]) сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом. Время от времени они меняются ролями, обычно, каждые полчаса.

Объясните мне, неучу, нафига тогда при парном программировании нужно

Отображение участников совместного редактирования разными курсорами

?

u283 ()
Ответ на: комментарий от u283

ты что никогда не видел картинку о программерах в офисе ? там чел думает, думает и вот уже придумал что то, тут его другой что то спросил, и все трындец, первый все забыл ;)

mx__ ★★★★★ ()
Ответ на: комментарий от vurdalak

Можно поправить соседа :) Да и для реверс-инжиниринга, который проходит за довольно короткое время это подходит больше.

XVilka ★★★★ ()
Ответ на: комментарий от q11q11
echo vim hold | sudo dpkg --set-selections

ну или каноничное ./configure && make && make install

insider ★★★ ()
Ответ на: комментарий от gaga

А разве самая востребованная фича в виме это не замена идиотского и тормозного VimL на человекческий язык?

Можете написать сюда новость про мои патчи.

кстати блин, у них там в новостях вот что:

===========

Work on Vim 7.4 has started [2013-05-17] 7.3 has more than 950 patches, that's too many! Time for a new (minor) release. The plan is to: (1) improve Python support, (2) include a faster regexp engine and (3) include pending patches and fix bugs. A test version should be available end of May. The release happens when it appears to work well. (Bram Moolenaar)

===========

что как бы намекает что поддржка питона и так есть

Не настолько, насколько хотелось. Я недавно написал набор патчей, улучшающих ситуацию, но это не всё. Можете присоединиться к обсуждению здесь, там я предлагаю добавить в модуль vim гораздо больше возможностей, чем имеется на данный момент. Даже если всё, что вы можете сказать по теме — это «хорошо бы эти возможности поскорее написали» — присоединяйтесь: там Брам недавно пытался заявить, что нафиг надо именно это, давайте делать интерфейсы, повторяющие их VimL‐эквиваленты.

Интересный фичреквест:

add integration with Python instead of inventing more Vim script

Если выпилят вимскрипт и запилят пистон, перейду на emacs

Успокойтесъ, VimL никто не выпиливает. Он был, есть и будет языком, остающимся для обратной совместимости, обязанным присутствовать во всех сборках Vim. Даже статус основного с него в обозримом будущем никто снимать не собирается, хотя я бы с радостью написал на нём «deprecated».

ZyX ()

Поздравляю всех пользователей Vim, хотя как по мне — так лучше старого доброго Emacs нет ничего :)

GreenTea ★★ ()
Ответ на: комментарий от andreyu

Нет, как и vim не поддерживает вставку картинок, обособленных комментариев, произвольную смену гарнитуры, етц.

А ты в Vim редактируй TeX и гуглодоксы покажутся детской игрушкой.

Aceler ★★★★★ ()
Ответ на: комментарий от Aceler

А ты в Vim редактируй TeX и гуглодоксы покажутся детской игрушкой.

Не стану спорить :)
Но ведь речь идет о совместном редактировании докуменат и его централизованное расположение, доступное всем тем, кому админ разрешил доступ. Кому то будет доступ на редактирование, кому то только на чтение.

andreyu ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

это уже давно придумали. называется «<redactorname>»

actics ()
Ответ на: комментарий от Mr_Gentoo

внимание внимание

пожалуйста, вернитесь к вашему блокноту

спасибо.

anonymous ()
Ответ на: комментарий от andreyu

да ну.

это поддерживает ла(тэх).

а уж вим поддерживает его.

юниксвей, поымаешь.

anonymous ()
Ответ на: комментарий от Anatolik

ахахааа

classic

алсо у них distribited мисспеллед в начале (хотя, может это pun)

anonymous ()
Ответ на: комментарий от Anatolik

Leonardo Correa Rocha 3 нед. назад
Mac user... It is explained...

не только на лоре )

но есть и конструктивный взгляд

Tristen Walker 2 нед. назад
i wanna try the spoon thing with my gf ;)

anonymous ()
Ответ на: комментарий от I-Love-Microsoft

я так и начинал. и продолжаю уже лет 7-8.

ЧЯДНТ?

anonymous ()
Ответ на: комментарий от andreyu

Среднее образование получать пробовали? Почему не понимаете разницу между текстовым редактором и текстовым процессором?

buddhist ★★★★★ ()
Ответ на: комментарий от buddhist

эту формулировку и правда слышал только где-то... в школе, лет 15 назад.

так же там строгая училка уверяла, что дескать информация подразделяется на след. типы (правда-правда!): звуковая, графическая, ну и текстовая. слава богу не музыкальная. интересно, как она классифицирует xmp ну или svg...

это к тому, что текстовый процессор суть что-то типа «папки». ненужная вендо-ябловая сущность. всё-в-одном, целая операционка. откопаем OpenDoc! а еще лучше Xanadu.

anonymous ()
5 	175 	(-24)  	69 	-2  	improve syntax highlighting speed 

12 	110 	(-3)  	50 	-2  	better plugin management system: automatic updates and dependencies 

17 	73 	  	39 	  	improve Visual block mode; make Ex commands work on rectangles 

29 	41 	(-3)  	20 	-2  	improve the performance of Vim scripts (pre-compile them) 

48 	17 	  	10 	  	improve the Cscope interface 

61 	5 	  	5 	  	improve the support for GTK 

поинтереснее будет

anonymous ()
Ответ на: комментарий от anonymous

Ну и где же училка наврала? А полное среднее получить надо)

anonymous ()
Ответ на: комментарий от anonymous

так же там строгая училка уверяла, что дескать информация подразделяется на след. типы (правда-правда!): звуковая, графическая, ну и текстовая. слава богу не музыкальная. интересно, как она классифицирует xmp ну или svg...

Если достаточно строгая, я догадываюсь, как она классифицирует ТЕБЯ, неспособного отличить понятия «тип информации» и «формат файла».

auto12884839 ()

а мне кто нибудь может объяснить зачем vim нужен? vi, nano, ed же есть... херня какая то получается...

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.