it-swarm-vi.tech

Làm cách nào để sao chép GNU Bộ đệm sao chép màn hình vào bảng tạm?

Khi sử dụng Màn hình GN chúng ta có thể làm việc với bộ đệm cuộn lại còn được gọi là "chế độ sao chép" bằng cách sử dụng Ctrl+a+[ chỉ huy.

Trong đó chúng ta có thể sao chép văn bản vào sao chép bộ đệm bằng cách nhấn space chọn văn bản và nhấn space lần nữa.

Có cách nào để sao chép văn bản này từ bộ đệm sao chép màn hình vào bảng tạm X không?

Trong trường hợp của tôi, tôi đang sử dụng Ubuntu 12.04 với gnome và Xorg.

63
Samuel G. P.

Bạn có thể sử dụng công cụ clipboard CLI như xsel hoặc pbpaste và tiện ích cat để lấy nội dung từ STDIN. Các bước trên Linux với xsel như sau:

  1. Sao chép văn bản từ phiên màn hình của bạn vào GNU bộ đệm sao chép của màn hình.
  2. Chạy lệnh này trong màn hình: cat | xsel -b
  3. Nếu xsel không báo cáo bất kỳ lỗi nào, thì bây giờ kết xuất bộ đệm sao chép của màn hình sang STDIN: Ctrl+a+]
  4. Gửi một EOF đến cat để chấm dứt nó: Ctrl+d

Tại thời điểm này, nội dung của bộ đệm sao chép màn hình nên có trong clipboard của bạn.

EDIT: Như với tất cả các chương trình X, xsel cần biết cách liên hệ với máy chủ X của bạn để truy cập vào bảng tạm. Bạn nên đặt biến môi trường DISPLAY của mình một cách thích hợp.

42
bonsaiviking

Có một cách đơn giản và ít thủ công hơn để làm điều này. Trong tệp .rc màn hình của bạn, thêm dòng sau:

bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/usr/bin/pbcopy < /tmp/screen-exchange"'

Cách sử dụng chức năng sao chép:

  1. screen -c path/to/screen/config.rc
  2. Nhấn Ctrl + A rồi Esc để vào chế độ sao chép.
  3. Cuộn lên bộ đệm văn bản và tìm vị trí bạn muốn để lại điểm đánh dấu bắt đầu để sao chép, sau đó nhấn phím cách.
  4. Cuộn xuống và chọn văn bản bạn muốn sao chép. Khi bạn đã hoàn tất, nhấn không gian một lần nữa.
  5. Các văn bản sẽ được trong clipboard của bạn.
11
kungfuspider

Câu trả lời này áp dụng cho OS X.

Sau khi sao chép văn bản mong muốn vào GNU Bộ đệm dán màn hình bằng cách sử dụng chế độ sao chép , hãy làm như sau:

  1. Trong bất kỳ cửa sổ màn hình nào của bạn, nhập pbcopy <enter>.
  2. Sau đó dán văn bản của bạn vào thiết bị đầu cuối bằng cách sử dụng GNU Màn hình lệnh dán (Ctrl-a ] trừ khi bạn thay đổi khóa thoát của mình).
  3. Nếu văn bản không kết thúc ở một dòng mới, nhấn <enter> để chèn một.
  4. Cuối cùng, nhấn Ctrl-d gây ra pbcopy để đẩy văn bản vào bảng tạm hệ thống.

Sau đó, bạn có thể dán văn bản ở nơi khác trong OS X như bình thường bằng cách sử dụng Command-v hoặc một tùy chọn menu tương đương.

10
scottgwald

Câu trả lời này chỉ hoạt động cho một kịch bản trong đó mục tiêu cuối cùng của bạn là dán nội dung bộ đệm đã sao chép ngay lập tức.

Cách đơn giản nhất để làm điều này là chia màn hình của bạn thành hai vùng. Bạn có thể làm điều này bằng cách nhấn CTRL+a sau đó |'Đây không phải là i. Đây là dấu hiệu PIPE trên bàn phím của bạn'

Đánh CTRL+a sau đó TAB để chuyển sang khu vực thứ hai, CTRL+a sau đó c để tạo một phiên mới trong khu vực thứ hai.

Nếu bạn muốn sao chép từ nano và dán vào thiết bị đầu cuối, hãy mở tệp trong nano ở khu vực bên trái, nhấn CTRL+a sau đó ESC, cuộn đến điểm bắt đầu của vị trí sao chép của bạn và nhấn SPACE, chọn văn bản bằng cách cuộn đến điểm cuối và nhấn SPACE một lần nữa để đánh dấu bản sao.

Bây giờ, tất cả những gì bạn phải làm là nhấn CTRL+a sau đó TAB để chuyển sang khu vực bên phải của bạn và nhấn CTRL+a sau đó ].

Văn bản của bạn sẽ được viết ra dòng lệnh. Lưu ý rằng bạn cũng có thể kiểm tra tùy chọn bản cứng nếu bạn muốn ghi trực tiếp vào tệp.

9
CoderX

Thoát phiên cuối ssh của bạn, nếu bạn hiện đang kết nối với máy chủ.

Nếu bạn đang sử dụng XQuartz trên Mac OS và xsel trên máy chủ. Bạn nên cập nhật cài đặt bảng điều khiển XQuartz bằng cách chọn Tùy chọn trong menu ứng dụng xQuartz.

Cài đặt XQuartz:

enter image description here

ssh vào máy từ xa và thử chạy:

xsel -p <<<"THIS IS A TEST".

Nhấn cmd + v và "NÀY IS A TEST" sẽ được xuất ra.

0
Ryan