Dans neovim, comment partager des registres entre des instances d'éditeur?

9

Je sais que vim avait la division client / serveur qui permettait le partage de registre entre différents clients vim, mais comment obtenez-vous la même chose dans neovim? Il ne prend pas en charge les indicateurs client / serveur. J'ai vu cette question , mais mon objectif est spécifiquement de partager des registres, pas d'imiter le reste du client / serveur. Est-ce que quelque chose comme neovim remote est le seul moyen, ou est-ce que je peux faire quelque chose de plus simple?

Christopher Waldon
la source

Réponses:

2

LEI a raison; et les neoviminstructions d'aide donnent ceci comme un cas d'utilisation spécifique pour cette fonctionnalité:

Deux commandes peuvent être utilisées pour lire et écrire le fichier ShaDa manuellement. Cela peut être utilisé pour échanger des registres entre deux programmes Vim en cours d'exécution: Tapez d'abord ": wsh" dans l'un puis ": rsh" dans l'autre.

kdannyob
la source
4

Aucune idée de la fonction clientserver, la manière la plus simple à laquelle je peux penser serait d'utiliser le presse-papiers du système par défaut lors du tirage ou du collage, ce qui peut être fait avec:

set clipboard=unnamedplus

Selon votre système d'exploitation et votre environnement, vous pourriez avoir besoin d'autres ajustements pour que cela fonctionne de manière transparente.


En outre, vous pourrez peut-être exploiter le viminfofichier (ou :h shadasur neovim):

Le fichier ShaDa est utilisé pour stocker:

  • L'historique de la ligne de commande.
  • L'historique de la chaîne de recherche.
  • L'historique de la ligne d'entrée.
  • Contenu des registres non vides.
  • Marques pour plusieurs fichiers.
  • Marques de fichier, pointant vers des emplacements dans les fichiers.
  • Dernière recherche / modèle de substitution (pour 'n' et '&').
  • La liste des tampons.
  • Variables globales.
LEI
la source
0

Désolé, car je ne sais plus où j'ai trouvé ceci:

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