9

У кого-нибудь есть элегантное решение для использования MacVim или gvim для нескольких мониторов (возможно, с разным разрешением)? Наличие двух сессий не работает из-за отдельных буферов и файлов подкачки.

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

2 ответа2

1

Разверните окно gvim чтобы покрыть оба экрана, и используйте CTRL-W v, чтобы разделить окно редактирования по вертикали.

Смотрите :help CTRL-W для большего количества оконных команд.

1

Я также часто использую мультимониторы, поэтому я сделал простой обходной путь, пока 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)

Затем Гитв внутренне делает следующее:

  1. найти все экземпляры gvim, у которых открыт файл "a.txt". (В данном случае GVIM1)
  2. установите все эти буферы a.txt "только для чтения", "nomodifiable" и "autoread".
  3. Измененный буфер будет записан на диск перед установкой "только для чтения".)
  4. удалить файл подкачки.
  5. повторно открыть 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .