No neovim, como posso compartilhar registros entre instâncias do editor?

9

Sei que o vim tinha a divisão cliente / servidor que permitia o compartilhamento de registros entre diferentes clientes do vim, mas como você consegue a mesma coisa no neovim? Não suporta os sinalizadores de cliente / servidor. Vi essa pergunta , mas meu objetivo é compartilhar especificamente registros, não imitando o restante do cliente / servidor. Existe algo como o neovim remote da única maneira, ou existe algo mais simples que eu posso fazer?

Christopher Waldon
fonte

Respostas:

2

LEI está certo; e as neoviminstruções de ajuda fornecem isso como um caso de uso específico para esse recurso:

Dois comandos podem ser usados ​​para ler e gravar o arquivo ShaDa manualmente. Isso pode ser usado para trocar registros entre dois programas Vim em execução: Primeiro digite ": wsh" em um e depois ": rsh" no outro.

kdannyob
fonte
4

Nenhuma idéia sobre o recurso clientserver, a maneira mais simples de pensar seria usar a área de transferência do sistema por padrão ao puxar ou colar, o que pode ser feito com:

set clipboard=unnamedplus

Dependendo do sistema operacional e do ambiente, você pode precisar de outros ajustes para que funcione perfeitamente.


Além disso, você pode aproveitar o viminfoarquivo (ou :h shadano neovim):

O arquivo ShaDa é usado para armazenar:

  • O histórico da linha de comando.
  • O histórico da string de pesquisa.
  • O histórico da linha de entrada.
  • Conteúdo de registros não vazios.
  • Marcas para vários arquivos.
  • Marcas de arquivo, apontando para locais nos arquivos.
  • Último padrão de pesquisa / substituição (para 'n' e '&').
  • A lista de buffers.
  • Variáveis ​​globais.
LEI
fonte
0

Desculpe, porque não sei mais onde encontrei isso:

" share data between nvim instances (registers etc)
augroup SHADA
    autocmd!
    autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
                \ if exists(':rshada') | rshada | wshada | endif
augroup END
SergioAraujo
fonte