2013-03-16 24 views
13

Điều này có thể thực hiện được không? Về mặt khái niệm, một giải pháp sẽ áp dụng trên nhiều cấu hình có thể, từ hai trường hợp vim chạy trong các thiết bị đầu cuối ảo riêng biệt trong các cửa sổ tmux, để ở các đầu nối riêng biệt trên các máy riêng biệt trong các vùng địa lý riêng biệt, một hoặc cả hai kết nối qua mạng (nói cách khác, các vims được lưu trữ bởi hai quá trình vỏ riêng biệt, mà họ đã có được dưới tmux dù sao đi nữa).Di chuyển bộ đệm theo vim trên các trường hợp của vim

Các trường hợp đó nhắc tôi suy nghĩ này:

Tôi có hai tấm tmux cả với vim mở và tôi muốn sử dụng yank Vim/dán để sao chép trên các tập tin.

Nhưng nó chỉ hoạt động nếu tôi đã có cả hai chạy trong cùng một ví dụ của Vim, vì vậy tôi buộc phải một trong hai: Tính năng copy/paste

  1. sử dụng tmux của để có được nội dung trên (mà hơi tẻ nhạt và khó tính), hoặc
  2. sử dụng tính năng sao chép/dán của thiết bị đầu cuối (PuTTY, iTerm2) để lấy nội dung (tương tự như tẻ nhạt nhưng không bị trễ thời gian mạng, tuy nhiên điều này chỉ hoạt động với một kích thước của tải trọng văn bản để sao chép tại thời điểm đó phương pháp này sẽ không hoạt động chút nào do thiết bị đầu cuối không biết nội dung của các phần không hiển thị trong tệp), hoặc
  3. mất lịch sử/bối cảnh của bộ đệm Vim và có thể bao gồm lịch sử/bối cảnh trong quá trình mở lại tệp theo cách thủ công trong một trong các trường hợp Vim trong bộ đệm hoặc tab chia rồi đóng ngữ cảnh đầu cuối khác (ít tẻ nhạt hơn 1 cho các tải trọng lớn) vì vậy với trọng tải nhỏ).

Đây là một bit của PITA và tất cả có thể tránh được nếu tôi có tầm nhìn xa về việc chuyển sang một thiết bị đầu cuối thích hợp đã chạy vim để mở các tệp của tôi nhưng vận mệnh và thói quen hiếm khi phù hợp với đã được thuận tiện.

Vì vậy, câu hỏi là, có tồn tại một lệnh hoặc khả năng của một kịch bản (xây dựng) straighforwardly xây dựng cho phép tôi tham gia bộ đệm trên trường hợp vim chạy độc lập? Có một thời gian khó khăn để Google trả lời đầy đủ.

Trong trường hợp không có câu trả lời đầy đủ (hoặc nếu xác định chắc chắn rằng Vim không có các tính năng để thực hiện chuyển bộ đệm trong các trường hợp của nó), thực hiện tốt (ràng buộc với khóa) để tiếp cận 3 ở trên là chấp nhận được.

Trong khi đó, tôi sẽ quay lại tùy chỉnh cấu hình vim của mình hơn nữa và buộc bản thân phải sử dụng ít nhất một lần vim càng tốt.

+3

ghi bộ đệm vào tệp, chèn từ tệp? –

+0

nó có thể làm cho vim sử dụng clipboard hệ điều hành nhưng tôi không bao giờ thành công. – perreal

+0

giảm lịch sử tìm kiếm vim, lịch sử hoàn tác vim, lịch sử lệnh vim, v.v. (mặc dù nó bắt đầu trông giống như vậy là không thể tránh khỏi) –

Trả lời

10

Không, Vim không thể chia sẻ phiên giữa nhiều phiên bản. Đây là cách nó được thiết kế và nó không cung cấp bất kỳ cơ sở chia sẻ phiên nào. Các thanh ghi, các thiết lập/ánh xạ trực tiếp, lịch sử lệnh, vv là cục bộ cho một phiên Vim và bạn thực tế không thể làm bất cứ điều gì về điều đó.


Nhưng tiêu đề của bạn là một chút sai lầm: bạn đã viết "đệm" nhưng có vẻ như bạn là chỉ sau khi sao chép/dán (trong đó bao gồm "đăng ký", không phải "đệm") từ một trường hợp Vim khác. Có đúng không? Nếu vậy, tại sao bạn không chỉ đơn giản là có được cho mình một xây dựng thích hợp với sự hỗ trợ clipboard?

Sao chép/yanking trên các phiên bản dễ dàng như "+y trong một và "+p trong một trường hợp khác.

Rõ ràng, điều này sẽ không hoạt động nếu các cá thể Vim của bạn ở trên các hệ thống khác nhau. Trong tình huống như vậy, "+y trong nguồn Vim và dán do hệ thống cung cấp trong Vim đích (có thể với :set paste) là giải pháp phổ biến nhất.


Nếu bạn đang sử dụng máy Mac, hãy cài đặt MacVim và di chuyển tập lệnh shell đi kèm trong đường dẫn của bạn. Bạn có thể sử dụng MacVim thực thi trong thiết bị đầu cuối của mình với mvim -v.

Nếu bạn sử dụng Linux, hãy cài đặt gói vim-gnome từ trình quản lý gói của bạn.

Nếu bạn đang sử dụng Windows, hãy cài đặt "Vim không kem" mới nhất.


Nhưng toàn bộ vấn đề trông giống như vấn đề XY đối với tôi. Sử dụng lệnh :e[dit] được tích hợp của Vim hiệu quả có lẽ là giải pháp tốt nhất cho vấn đề cơ bản của bạn: chỉnh sửa nhiều tệp từ nhiều trình bao khác nhau.

Các vấn đề liên quan