В neovim, как я могу делиться регистрами между экземплярами редактора?

9

Я знаю, что у vim был разделитель клиент / сервер, который позволял разделять регистры между различными клиентами vim, но как добиться того же в neovim? Он не поддерживает флаги клиент / сервер. Я видел этот вопрос , но моей целью является совместное использование регистров, а не имитация остальной части клиент / сервер. Является ли что-то вроде neovim remote единственным способом, или есть что-то более простое, что я могу сделать?

Кристофер Уолдон
источник

Ответы:

2

LEI прав; и neovimинструкции помощи дают это как особый вариант использования этой функции:

Две команды могут быть использованы для чтения и записи файла ShaDa вручную. Это можно использовать для обмена регистрами между двумя запущенными программами Vim: сначала введите «: wsh» в одной, а затем «: rsh» в другой.

kdannyob
источник
4

Понятия не имею о функции clientserver, самый простой способ, который я могу придумать, - это использовать системный буфер обмена по умолчанию при рывке или вставке, что можно сделать с помощью:

set clipboard=unnamedplus

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


Кроме того, вы можете использовать viminfoфайл (или :h shadaнеовим):

Файл ShaDa используется для хранения:

  • История командной строки.
  • История строки поиска.
  • История ввода строки.
  • Содержимое непустых регистров.
  • Отмечает несколько файлов.
  • Файловые метки, указывающие на места в файлах.
  • Последний шаблон поиска / замены (для 'n' и '&').
  • Список буферов.
  • Глобальные переменные.
LEI
источник
0

Извините, потому что я не знаю больше, где я нашел это:

" share data between nvim instances (registers etc)
augroup SHADA
    autocmd!
    autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
                \ if exists(':rshada') | rshada | wshada | endif
augroup END
SergioAraujo
источник