Câu trả lời:
Bạn sẽ phải sử dụng các phím tắt tmux. Giả sử phím tắt lệnh tmux của bạn là mặc định: Ctrl+ b, sau đó:
Ctrl+ b, [Nhập chế độ sao chép (?).
Di chuyển đến bắt đầu / kết thúc văn bản để tô sáng.
Ctrlspace
Bắt đầu tô sáng văn bản (trên Arch Linux). Khi tôi đã biên dịch tmux từ nguồn trên OSX và các Linux khác, chỉ Spaceriêng nó thường hoạt động. Văn bản được chọn thay đổi màu sắc, vì vậy bạn sẽ biết nếu lệnh hoạt động.
Di chuyển đến cuối văn bản đối diện để sao chép.
Alt+ wSao chép văn bản đã chọn vào clipboard tmux. (Trên Mac sử dụng Esc+ w.)
Di chuyển con trỏ đến cửa sổ tmux đối diện hoặc cửa sổ tmux hoàn toàn khác. Đặt con trỏ ở nơi bạn muốn dán văn bản bạn vừa sao chép.
Ctrl+ b, ]Dán văn bản sao chép từ clipboard tmux.
tmux khá giỏi trong việc ánh xạ các lệnh tới các phím tắt tùy chỉnh.
Xem Ctrl+ b, ?để biết danh sách đầy đủ các phím tắt được đặt.
screen
phím tắt: Ctrl + A [
(nhập chế độ sao chép), Space
(bắt đầu tô sáng), Enter
(tô sáng kết thúc), Ctrl + A ]
(dán).
Enter
khóa.
Thật không may, tôi chưa thể thêm nhận xét vào câu trả lời của Alex Leach vì vậy tôi sẽ đưa phần phụ lục vào đây cho người dùng Mac OS X:
byobu
/ tmux
với tất cả các cài đặt mặc định, điều này đã hoạt động, Alt + w thì không.
Nếu bạn đang sử dụng vim và tmux trên macOS (Đã thử nghiệm trên macOS 10.12.2, tmux 2.3):
(Giả sử rằng tổ hợp khóa tiền tố của tmux là prefix. Tiền tố là ctrl+ btrong mặc định.)
Tôi đang kết nối với máy chủ CentOS của mình trên máy Windows bằng ứng dụng khách ssh terminal ZOC . Đây là những gì làm việc cho tôi:
<prefix>
+[
<Space>
<Enter>
<prefix>
+]
Bạn có thể sử dụng bảng clip hệ thống với "* y và" * p thay vì y và p bình thường.
"+2yy
- sao chép hai dòng vào bảng tạm X11 "+dd
- cắt dòng vào bảng tạm X11 "+p
- dán bảng tạm X11
h,j,k,l
để di chuyển. Đôi khi tôi cũng thấy máy ảo ub Ubuntu của mình, thanh ghi "+" biến mất, không rõ lý do. Để xác minh rằng bạn có +
đăng ký, bạn có thể nhập :reg
và kiểm tra xem có chuỗi nào "+
trong cột đầu tiên không.
y
và p
để "+y
và "+p
?
Nếu bạn đã vim
mở, tốt hơn là sử dụng bản sao dán vim để sao chép văn bản.
Bản sao dán Tmux sẽ hoạt động, tuy nhiên có một số nhược điểm.
Đầu tiên, khi sao chép nhiều dòng văn bản, bạn sẽ phải chọn nhiều dòng. Dán sao chép Tmux thường không hiểu rằng vim
có số dòng hoặc có các dấu trong máng vim (chẳng hạn như số tương đối / số tuyệt đối). Kết quả là, nó cũng sẽ sao chép chúng.
Thứ hai, tôi đã thấy rằng nếu văn bản có định dạng ngôn ngữ cụ thể nhất định và bạn trực tiếp cố gắng sao chép dán bằng tmux sang vim, nó sẽ làm rối định dạng. Điều này có thể tránh được bằng cách sử dụng set paste!
. Tuy nhiên, điều này đòi hỏi nhiều công việc hơn.
"+y
để sao chép và "+p
dánVim
tự nhiên cung cấp một phương pháp để sao chép dán giữa bộ đệm vim và bảng tạm hệ thống, bằng cách sử dụng "+y
hoặc "*y
. Sau đó dán bằng cách sử dụng "+p
hoặc "*p
. Điều này sẽ tránh việc sao chép các số tương đối trong máng xối hoặc các dấu ngẫu nhiên khác không liên quan đến vim
Một vài tùy chọn để sử dụng vim vì chuỗi phím tắt tmux hơi dài và tôi thấy khó nhớ
Giống như các câu trả lời ở trên cho biết bạn có thể sử dụng "+y
và "*y
sao chép và sau đó "+p
và "*p
tương ứng để dán. Nếu bạn muốn vim sử dụng clipboard theo mặc định để bạn chỉ có thể sử dụng y/p
trực tiếp sau đó.
set clipboard=unamed "sets the default copy register to be *
set clipboard=unamedplus "sets the default copy register to be +
nguồn cho lệnh clipboard: https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
:w /tmp/lines
, sau đó:r /tmp/lines
trong trường hợp khác). Hoặc, nếu Vim của bạn biết cách nói chuyện với bảng tạm hệ thống, bạn có thể sử dụng+
hoặc*
đăng ký để tránh tệp tạm thời.