Trong neovim, làm cách nào tôi có thể chia sẻ các thanh ghi giữa các phiên bản soạn thảo?


9

Tôi biết rằng vim có phân chia máy khách / máy chủ cho phép chia sẻ đăng ký giữa các máy khách vim khác nhau, nhưng làm thế nào để bạn đạt được điều tương tự trong neovim? Nó không hỗ trợ cờ khách / máy chủ. Tôi thấy câu hỏi này , nhưng mục tiêu của tôi là chia sẻ cụ thể các thanh ghi, không bắt chước phần còn lại của máy khách / máy chủ. Là một cái gì đó giống như neovim từ xa là cách duy nhất, hoặc có một cái gì đó đơn giản hơn tôi có thể làm?

Câu trả lời:


2

LEI đúng; và các neovimhướng dẫn trợ giúp cung cấp điều này như một trường hợp sử dụng cụ thể cho tính năng đó:

Hai lệnh có thể được sử dụng để đọc và ghi tệp ShaDa theo cách thủ công. Điều này có thể được sử dụng để trao đổi các thanh ghi giữa hai chương trình Vim đang chạy: Loại thứ nhất ": wsh" trong một và sau đó ": rsh" trong cái kia.


4

Không có ý tưởng nào về tính năng máy khách, cách đơn giản nhất tôi có thể nghĩ đến là sử dụng bảng tạm hệ thống theo mặc định khi kéo hoặc dán có thể được thực hiện với:

set clipboard=unnamedplus

Tùy thuộc vào hệ điều hành và môi trường của bạn, bạn có thể cần các tinh chỉnh khác để nó hoạt động trơn tru.


Ngoài ra, bạn có thể tận dụng viminfotệp (hoặc :h shadatrên neovim):

Tệp ShaDa được sử dụng để lưu trữ:

  • Lịch sử dòng lệnh.
  • Lịch sử chuỗi tìm kiếm.
  • Lịch sử dòng đầu vào.
  • Nội dung của thanh ghi không trống.
  • Đánh dấu cho một số tập tin.
  • Đánh dấu tập tin, chỉ vào vị trí trong tập tin.
  • Mẫu tìm kiếm / thay thế cuối cùng (cho 'n' và '&').
  • Danh sách bộ đệm.
  • Biến toàn cầu.


0

Xin lỗi, vì tôi không biết nữa nơi tôi tìm thấy cái này:

" share data between nvim instances (registers etc)
augroup SHADA
    autocmd!
    autocmd CursorHold,TextYankPost,FocusGained,FocusLost *
                \ if exists(':rshada') | rshada | wshada | endif
augroup END
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.