Vim через несколько мониторов

9

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

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

Patm
источник
1
Я хотел бы знать ответ и для этого. Я нашел этот vimdoc.sourceforge.net/htmldoc/remote.html, который кажется правильным направлением. Но я еще не пробовал это.
Амжит

Ответы:

1

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

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

MikeyB
источник
1
Я хорошо осведомлен о разделении окон. К сожалению, это плохо работает с разными разрешениями монитора. Похоже, действительно нет хорошего способа сделать это.
Patm
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.

tbear
источник