Можно ли это сделать?Перемещение буфера в vim через экземпляры vim
Концептуально решение должно применяться во множестве возможных конфигураций, начиная от двух экземпляров vim, работающих в отдельных виртуальных терминалах в панелях в окне tmux, до отдельных терминалов на отдельных машинах в отдельных географических регионах, один или оба (другими словами, vims размещаются двумя отдельными процессами оболочки, которые в любом случае будут находиться под tmux).
Случай, побудил меня задуматься над этим:
У меня есть две tmux панели как с Vim открытым, и я хочу использовать Vim копирует/вставить, чтобы скопировать через файлы.
Но это работает только если у меня они оба работают в одном экземпляре Vim, поэтому я вынужден либо: функция копирования/вставки
- использовать tmux, чтобы получить содержание более (что несколько утомительно и финишно), или
- использовать функцию копирования/вставки терминала (PuTTY, iTerm2), чтобы получить содержимое (что тоже утомительно, но не подвержено сетевой задержке, однако это работает только до определенного размер текстовой полезной нагрузки для копирования, в этот момент этот метод не будет работать вообще из-за того, что терминал не знает содержимое невидимых в данный момент частей файла) или
- проигнорировать историю/контекст буфера Vim и, возможно, историю/контекст оболочки при повторном открытии файла вручную в одном из экземпляров Vim либо в разбитом буфере или вкладке, а затем закрытии другого терминального контекста (гораздо менее утомительного, чем 1 для больших полезных нагрузок, но более поэтому с небольшими полезными нагрузками).
Это немного PITA и все могли бы избежать, если бы я предусмотрительно переключения на соответствующий терминал уже запущен Vim, чтобы открыть свои файлы, но судьба рабочего процесса и привычки редко совпадают с тем, что бы были удобны.
Итак, вопрос в том, существует ли какая-либо команда или возможность сценария, построенного на основе сокрытия (shell), который позволяет мне присоединяться к буферам через независимо исполняемые экземпляры vim? Мне трудно заставить Google ответить на это адекватно.
При отсутствии адекватного ответа (или если с достаточной уверенностью определено, что Vim не обладает функциями для выполнения переноса буферов по своим экземплярам), хорошая реализация (привязанная к ключам) для подхода 3 выше является приемлемым.
Между тем, я вернусь к настройке моей конфигурации vim дальше и заставляю себя использовать как можно больше экземпляров vim.
написать буфер в файл, вставить из файла? –
можно сделать vim использовать буфер обмена ОС, но мне это никогда не удавалось. – perreal
drop vim search history, vim undo history, история команд vim и т. Д. (Хотя это начинает выглядеть так, что это неизбежно) –