In neovim, come posso condividere i registri tra le istanze dell'editor?


9

So che vim aveva la divisione client / server che consentiva la condivisione del registro tra diversi client vim, ma come si ottiene la stessa cosa in neovim? Non supporta i flag client / server. Ho visto questa domanda , ma il mio obiettivo è in particolare condividere i registri, non imitare il resto del client / server. Qualcosa come Neovim Remote è l'unico modo o c'è qualcosa di più semplice che posso fare?

Risposte:


2

LEI ha ragione; e le neovimistruzioni di aiuto forniscono questo come caso d'uso specifico per quella funzione:

Due comandi possono essere usati per leggere e scrivere manualmente il file ShaDa. Questo può essere usato per scambiare registri tra due programmi Vim in esecuzione: prima digita ": wsh" in uno e poi ": rsh" nell'altro.


4

Nessuna idea sulla funzione clienterver, il modo più semplice che mi viene in mente sarebbe di utilizzare gli Appunti di sistema per impostazione predefinita quando si eseguono yank o incolla che possono essere fatti con:

set clipboard=unnamedplus

A seconda del sistema operativo e dell'ambiente, potrebbero essere necessarie altre modifiche affinché funzioni senza problemi.


Inoltre, potresti essere in grado di sfruttare il viminfofile (o :h shadasu neovim):

Il file ShaDa viene utilizzato per archiviare:

  • La cronologia della riga di comando.
  • La cronologia delle stringhe di ricerca.
  • La cronologia della riga di input.
  • Contenuto dei registri non vuoti.
  • Contrassegni per diversi file.
  • Contrassegni di file, che indicano le posizioni nei file.
  • Ultimo modello di ricerca / sostituzione (per 'n' e '&').
  • L'elenco dei buffer.
  • Variabili globali.


0

Scusa, perché non so più dove ho trovato questo:

" share data between nvim instances (registers etc)
augroup SHADA
    autocmd!
    autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
                \ if exists(':rshada') | rshada | wshada | endif
augroup END
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.