Dalam neovim, bagaimana saya bisa berbagi register di antara instance editor?

9

Saya tahu bahwa vim memiliki pembagian klien / server yang memungkinkan berbagi register antara klien vim yang berbeda, tetapi bagaimana Anda mencapai hal yang sama dalam neovim? Itu tidak mendukung flag klien / server. Saya melihat pertanyaan ini , tetapi tujuan saya secara khusus berbagi register, tidak meniru klien / server lainnya. Apakah sesuatu seperti neovim remote satu-satunya cara, atau adakah sesuatu yang lebih sederhana yang dapat saya lakukan?

Christopher Waldon
sumber

Jawaban:

2

LEI benar; dan neovimpetunjuk bantuan memberikan ini sebagai kasus penggunaan khusus untuk fitur itu:

Dua perintah dapat digunakan untuk membaca dan menulis file ShaDa secara manual. Ini dapat digunakan untuk bertukar register antara dua program Vim yang sedang berjalan: Pertama ketik ": wsh" di satu dan kemudian ": rsh" di yang lain.

kdannyob
sumber
4

Tidak tahu tentang fitur server klien, cara paling sederhana yang dapat saya pikirkan adalah dengan menggunakan clipboard sistem secara default ketika menarik atau menempel yang dapat dilakukan dengan:

set clipboard=unnamedplus

Bergantung pada OS dan lingkungan Anda, Anda mungkin perlu penyesuaian lain agar dapat bekerja dengan lancar.


Anda juga dapat memanfaatkan viminfofile (atau :h shadamenggunakan neovim):

File ShaDa digunakan untuk menyimpan:

  • Riwayat baris perintah.
  • Riwayat string pencarian.
  • Input-line history.
  • Isi register yang tidak kosong.
  • Tanda untuk beberapa file.
  • Tanda file, menunjuk ke lokasi dalam file.
  • Pola pencarian / pengganti terakhir (untuk 'n' dan '&').
  • Daftar buffer.
  • Variabel global.
LEI
sumber
0

Maaf, karena saya tidak tahu lagi di mana saya menemukan ini:

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