Vim через декілька моніторів


9

Хто-небудь має елегантне рішення для того, щоб MacVim або gvim перетиналися на декількох (потенційно різної роздільної здатності) моніторах? Проведення 2 сеансів не працює добре через окремі буфери та файли підкачки.

Ви б могли подумати, що у вас можуть бути два вікна gui, які мають однакові буфери, але я не можу знайти нічого, що працює.


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

Відповіді:


1

Розгорніть gvimвікно, щоб охопити обидва екрани, і використовуйте CTRL-W vдля розділення вікна редагування вертикально.

Див. :help CTRL-WДодаткові команди вікон.


1
Я добре знаю розбиття вікон. На жаль, це не працює добре з різними роздільними можливостями монітора. Здається, що насправді це не найкращий спосіб зробити це.
Патм

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)

Тоді gitv внутрішньо виконує наступні дії:

  1. знайти всі екземпляри gvim, у яких відкрито "a.txt". (У цьому випадку GVIM1)
  2. встановіть усі ці буфери a.txt "лише для читання", "для зміни" та "для автоматичного читання".
  3. Змінений буфер записується на диск перед тим, як встановити "лише для читання".)
  4. видаліть файл swap.
  5. повторно відкрити a.txt на GVIM2. (gvim може відкрити цей файл без проблем, оскільки немає файлу своп.)

Якщо ви хочете відредагувати a.txt на моніторі 1 замість монітора 2, зробіть це для переключення активного буфера: $ gitv gvimr GVIM1 a.txt (або gvim1 a.txt) Це можна зробити простіше всередині gvim1 за допомогою ctrl + g + a.txt

(Це автоматично встановить цей самий буфер відкритим в інших випадках gvim "readonly", щоб запобігти пошкодженню даних.)

gitv можна завантажити тут: http://code.google.com/p/gitv/ Він був протестований лише на linux gvim, але його можна було легко перенести на MacVIM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.