Чтобы vimdiff изменил файлы в Dropbox от Vim - PullRequest
1 голос
/ 09 августа 2009

Я часто получаю уведомление на мой Vim, что мой файл был изменен в другом месте, так как я использую Dropbox.

Мне нужно нажать

L 

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

Эта процедура, однако, становится для меня сложной, так как скорость редактирования возросла. Я хотел бы

 vimdiff [file_with_my_edits] [file_with_my_friend's_edits] 

каким-то образом версия моего друга с моим текущим файлом, в которой есть некоторые новые правки.

Как вы можете vimdiff ваш текущий файл с файлом вашего друга , если база версий такая же, но текущие файлы разные, без потери каких-либо правок?

Ответы [ 3 ]

8 голосов
/ 09 августа 2009

Если два (или более) человека работают над файлом одновременно, вам следует использовать систему управления версиями, такую ​​как subversion или git. Как вы уже видели, Dropbox не является решением в этом случае.

6 голосов
/ 09 августа 2009

Этот vim tip дает функцию для сравнения текущего буфера с файлом на диске. Он предназначен для того, чтобы показать вам правки, которые вы сделали со времени последнего сохранения, но он также покажет вам правки, сделанные вашим другом.

1 голос
/ 09 августа 2009

Хотя я согласен с тем, что вы должны использовать систему контроля версий, все, что вы хотите, может быть выполнено в vim Вы можете не загружать изменения вашего друга, сохранить ваши в новый файл, а затем использовать vimdiff. Вы даже можете сделать все это, не выходя из vim:

  1. :w file_with_edits.new (сохраняет изменения в новый файл)
  2. :e file_with_edits (отменяет ваши изменения)
  3. :diffthis (включает diff для текущего буфера)
  4. :vsplit (открывает вертикальное разделение, показывая текущий файл в обоих окнах)
  5. ^w, right (переключается на правый сплит)
  6. :e file_with_edits.new (открывает ваши изменения)
  7. :diffthis (включает diff для правой стороны)

Все это говорит, что контроль над источниками делает подобные вещи тривиальными (это одна из его основных целей).

...