En neovim, ¿cómo puedo compartir registros entre instancias del editor?

9

Sé que vim tenía la división cliente / servidor que permitía compartir registros entre diferentes clientes vim, pero ¿cómo se logra lo mismo en neovim? No es compatible con las banderas de cliente / servidor. Vi esta pregunta , pero mi objetivo es compartir registros específicamente, no imitar al resto del cliente / servidor. ¿Es algo como Neovim Remote la única forma, o hay algo más simple que puedo hacer?

Christopher Waldon
fuente

Respuestas:

2

LEI tiene razón; y las neoviminstrucciones de ayuda dan esto como un caso de uso específico para esa función:

Se pueden usar dos comandos para leer y escribir el archivo ShaDa manualmente. Esto se puede usar para intercambiar registros entre dos programas Vim en ejecución: Primero escriba ": wsh" en uno y luego ": rsh" en el otro.

kdannyob
fuente
4

No tengo idea de la función del servidor de clientes, la forma más simple en la que puedo pensar sería usar el portapapeles del sistema de forma predeterminada al tirar o pegar, lo que se puede hacer con:

set clipboard=unnamedplus

Dependiendo de su sistema operativo y entorno, es posible que necesite otros ajustes para que funcione sin problemas.


Además, puede aprovechar el viminfoarchivo (o :h shadaen neovim):

El archivo ShaDa se usa para almacenar:

  • El historial de la línea de comando.
  • El historial de la cadena de búsqueda.
  • El historial de la línea de entrada.
  • Contenido de registros no vacíos.
  • Marcas para varios archivos.
  • Marcas de archivo, apuntando a ubicaciones en archivos.
  • Último patrón de búsqueda / sustitución (para 'n' y '&').
  • La lista de búfer.
  • Variables globales.
LEI
fuente
0

Lo siento, porque ya no sé dónde encontré esto:

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