Я также часто использую мультимониторы, поэтому я сделал простой обходной путь, пока vim не реализует эту функцию.
Используя скрипт lua с именем gitv, я могу открыть файл в нескольких экземплярах GVIM одновременно.
По сути, когда есть два экземпляра GVIM с именами GVIM1 и GVIM2, я просто убедился, что за один раз можно редактировать только один файл, а все остальные - программы просмотра. (Все делается автоматически без запроса.)
Рабочий процесс: В настоящее время gitv предназначен для репозиториев git, поэтому его можно использовать только для тех файлов в репозитории git. Вы можете легко изменить это поведение по умолчанию, изменив функцию lsFiles().
Чтобы сначала открыть a.txt на GVIM1, используйте
$ gitv gvimr GVIM1 a.txt
Это откроет окно gvim, если его нет.
Затем, чтобы открыть тот же a.txt на другом экземпляре GVIM2, используйте
$ gitv gvimr GVIM2 a.txt
(или вы можете создать псевдоним, например $ gvim2 a.txt)
Затем Гитв внутренне делает следующее:
- найти все экземпляры gvim, у которых открыт файл "a.txt". (В данном случае GVIM1)
- установите все эти буферы a.txt "только для чтения", "nomodifiable" и "autoread".
- Измененный буфер будет записан на диск перед установкой "только для чтения".)
- удалить файл подкачки.
- повторно открыть a.txt на GVIM2. (gvim может открыть этот файл без проблем, потому что нет файла подкачки.)
Если вы хотите отредактировать a.txt на мониторе 1 вместо монитора 2, сделайте это для переключения активного буфера:$ gitv gvimr GVIM1 a.txt (или gvim1 a.txt) Это проще сделать в gvim1 с помощью ctrl+g + a.txt
(Это автоматически установит тот же буфер открытым в других экземплярах gvim "только для чтения", чтобы предотвратить повреждение данных.)
Gitv можно скачать здесь: http://code.google.com/p/gitv/ Он был протестирован только на Linux Linux Gvim, но его можно легко перенести на MacVIM.