Подтвердить что ты не робот

Работа с vim на нескольких мониторах

У меня есть три монитора.

Обычно я запускаю один максимизированный xterm на каждом мониторе, прикрепленный к тому же сеансу GNU.

Можно ли использовать аналогичную модель для vim? Возможно ли запустить три vims, все используют одну и ту же "сеанс vim":

  • Каждое окно vim, показывающее другую вкладку vim.
  • Настройки vim, разделяемые между всеми окнами
  • Не получить "файл подкачки... уже существует!" сообщение об ошибке, если я открою тот же файл на двух вкладках.
4b9b3361

Ответ 1

У меня есть рабочее решение, в котором взаимодействуют два экземпляра vim.

http://github.com/codeape2/vim-multiple-monitors

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

Ответ 2

Вы можете использовать vim в разделе screen.

$ screen
$ vim

# on another terminal 
$ screen -x
# the same vim screen

Если ваш эмулятор терминала поддерживает табуляцию (например, gnome-terminal), вы можете использовать его в качестве табуляции (поддержка IMHO, gnome-terminal tabbing лучше, чем vim own, за исключением, возможно, вы не можете копировать и вставлять среди разных vim сессий, однако вместо этого вы можете использовать системный буфер копирования-вставки: "+ y и" + p).

Это не работает, если вы используете gvim.

Ответ 3

Нет, экземпляр Vim ограничен одним окном приложения на вашем рабочем столе. Различные экземпляры Vim имеют независимые сеансы.

Кроме того, имейте в виду, что если вы откроете один и тот же файл в двух разных экземплярах Vim, вы получите не только сообщение "Swap file exists", но два экземпляра не разделяют буфер, поэтому изменения, сделанные в одном, независимо от другого.

Если измененный файл сохраняется в одном экземпляре, вы получите сообщение, когда вы вернетесь к файлу в другом экземпляре Vim, который "файл был изменен после начала редактирования" и спрашивает вас, хотите ли вы перезагрузить файл (который изменения нагрузки, сохраненные другим экземпляром, без учета любых изменений, внесенных вами в текущем экземпляре).

Ответ 4

Neovim - это проект, целью которого является создание функции vim attach/detach, такой как tmux. Эта функция еще не реализована (19 июня 2015 г.), но это может произойти в ближайшее время.

В этом проекте есть много других основных функций, которые вы можете увидеть на neovim.io.