neovimでは、エディターインスタンス間でレジスターを共有するにはどうすればよいですか?


9

vimには、異なるvimクライアント間でのレジスタ共有を可能にするクライアント/サーバー分割があったことは知っていますが、neovimで同じことをどのように実現しますか?クライアント/サーバーフラグはサポートしていません。私はこの質問を見ましたが、私の目標は特にレジスタを共有することであり、クライアント/サーバーの残りの部分を模倣することではありません。neovimリモートのようなものが唯一の方法ですか、それとももっと簡単な方法がありますか?

回答:


2

LEIは正しいです。そして、neovimヘルプ命令はこれを与える特定のユースケースその機能の:

2つのコマンドを使用して、ShaDaファイルを手動で読み書きできます。これは、2つの実行中のVimプログラム間でレジスタを交換するために使用できます。最初に「:wsh」を入力し、次に「:rsh」をもう一方に入力します。


4

clientserver機能についての考えはありません。私が考えることができる最も簡単な方法は、次の方法で実行できるヤンクまたは貼り付け時にデフォルトでシステムクリップボードを使用することです。

set clipboard=unnamedplus

お使いのOSや環境によっては、シームレスに動作させるために他の調整が必要になる場合があります。


また、viminfoファイル(または:h shadaneovim)を活用できる場合があります。

ShaDaファイルは、次のものを格納するために使用されます。

  • コマンドライン履歴。
  • 検索文字列の履歴。
  • 入力行の履歴。
  • 空でないレジスタの内容。
  • 複数のファイルのマーク。
  • ファイル内の場所を指すファイルマーク。
  • 最後の検索/置換パターン( 'n'および '&'の場合)。
  • バッファリスト。
  • グローバル変数。


0

申し訳ありませんが、これをどこで見つけたかもうわかりません。

" share data between nvim instances (registers etc)
augroup SHADA
    autocmd!
    autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
                \ if exists(':rshada') | rshada | wshada | endif
augroup END
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.