Làm thế nào để gửi văn bản được nhập một cách hiệu quả vào dòng lệnh vào bảng tạm hệ thống mà không cần sử dụng chuột?


14

Nói rằng tôi đã gõ lệnh dài sau vào dòng lệnh

 $ some very long command that I want to copy to the clipboard

Làm thế nào tôi có thể có được điều này vào clipboard hệ thống hiệu quả? Tôi đang sử dụng Gnome Terminal 2.23.1.

Tôi biết rằng tôi có thể lấy chuột và tô sáng nó và sao chép nó, nhưng tôi muốn một giải pháp bàn phím chung.

Nó cũng sẽ tốt nếu nó được khái quát hóa cho nhiều chương trình dòng lệnh.

Ví dụ: trong bash ở chế độ vi, tôi có thể nhấn vvà sau đó chỉnh sửa lệnh trong vim và do đó sử dụng bản sao của Vim vào các tính năng của bảng tạm, nhưng điều này không hoạt động khi sử dụng R trên dòng lệnh. Nó cũng hơi chậm.

Tôi muốn nó nếu ở chế độ vi, tôi có thể nhấn yyvà sao chép nội dung của dòng vào bảng tạm hệ thống, nhưng điều này dường như không hoạt động. Hơn nữa, bất kỳ lệnh yanking nào dường như không sao chép nội dung vào bảng tạm hệ thống; chúng dường như chỉ sao chép vào một bộ đệm được sử dụng bởi bash.

CẬP NHẬT:

Sau khi đăng tôi đã tìm thấy


1
Không chính xác những gì bạn yêu cầu: sử dụng màn hình, bạn có thể đạt được những gì bạn yêu cầu sau câu trả lời này: askubfox.com/questions/56570/iêu
enzotib

Theo câu trả lời này ( askubfox.com/a/503861/43594 ), bạn có thể bật Phím chuột trong Truy cập chung và sử dụng bàn phím số để di chuyển chuột xung quanh, với số năm đóng vai trò là một lần nhấp. Khi nhấp đúp nhanh, nó sẽ chọn từ mà con trỏ đang di chuột qua. Khi nó nhanh chóng nhấp ba lần, nó sẽ chọn toàn bộ dòng. Điều này cùng với các câu trả lời về cách sao chép (Ctrl-Shift-C) sẽ làm hầu hết những gì bạn cần.
James

Câu trả lời:


3

Bạn cũng có thể sử dụng một trình quản lý clipboard như parcellite. Đó là trình quản lý clipboard GTK + cũng có khả năng clipboard dòng lệnh

Bạn có thể sử dụng nó thông qua dòng lệnh bằng cách

echo "some very long command that I want to copy to the clipboard" | parcellite
##or##
parcellite "some very long command that I want to copy to the clipboard"

Nó không được cài đặt theo mặc định và vì vậy bạn sẽ phải cài đặt parcellite bởi sudo apt-get install parcellite


1
cảm ơn, ít nhất là khi tôi gặp rắc rối, đôi khi tôi đã sử dụng echo my command | xclip -se c; tuy nhiên, khi lệnh có trích dẫn và các ký tự đặc biệt khác, echothường sẽ không sao chép lệnh theo nghĩa đen.
Jeromy Anglim

1

Vì vậy, việc đóng mà tôi có thể có được là bằng cách sử dụng lịch sử và xclip kết hợp thực hiện việc này

echo !! | xclip

Điều này sẽ đặt lệnh cuối cùng vào bảng tạm nút trung tâm. Tôi vẫn đang tìm kiếm một cái gì đó tốt hơn mặc dù tôi muốn đưa nó xuống một lệnh. Tuy nhiên, tôi bị treo lên vì lịch sử không hoạt động trong các kịch bản shell và tôi không biết rằng có một cách để sử dụng !!đúng trong bí danh. Tất nhiên điều này dường như không hoàn toàn là những gì bạn yêu cầu cho ý định của tôi là sử dụng điều này để ghi chú những gì tôi đang làm. Bất kỳ mặc dù?


Ngoài ra, vẫn còn vấn đề làm thế nào để bạn sao chép các lệnh với dấu ngoặc kép.
Jeromy Anglim

0

Bạn sẽ có thể sử dụng Ctrl+ Shift+ Ccho Sao chép và Ctrl+ Shift+ Vcho Dán ở bất cứ đâu trong Terminal.


3
Bạn vẫn cần chuột để chọn văn bản.
enzotib

doh! điểm rất hợp lệ
Dirk Hartzer Waldeck

2
Điều này đặt ra câu hỏi, có thể tùy chỉnh thiết bị đầu cuối hoặc bash để có thể chọn văn bản bằng bàn phím không?
Jeromy Anglim

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.