Tạo Ctrl + C sao chép văn bản trong gnome-terminal?


70

Tôi có thể thực hiện Ctrl+ Cthực hiện lệnh sao chép nếu có văn bản được tô sáng trong thiết bị đầu cuối không?
Nếu không, nó nên giữ lại hành vi bình thường của nó.

(Nếu có một thiết bị đầu cuối có thể làm điều này ngoài thiết bị đầu cuối gnome, điều đó có lẽ cũng tốt.)


1
Bạn không phải sử dụng chuột; trên bàn phím Mac, bạn có thể sử dụng shift+ enter+ fn. Và, trên bàn phím 'bình thường', tôi nghĩ đó là shiftinsert.
David Thomas

Tôi xác nhận. Tôi chỉ sử dụng một hỗn hợp sao chép khác trên bàn phím 'bình thường': Ctrl + Chèn để sao chép (và Shift + Chèn để dán) không xung đột với ngắt chương trình Ctrl + C
kza

Câu trả lời:


74

Bạn có thể thay đổi liên kết phím cho Cắt và Dán từ mặc định Ctrl+ Shift+ C, Ctrl+ Shift+ Vthành những gì bạn nói, cụ thể là Ctrl+ C, Ctrl+ V, trong menu Chỉnh sửa → Phím tắt . Mặc dù bạn cũng nên thay đổi ý nghĩa thiết bị đầu cuối mặc định được liên kết với Ctrl+ C(ngắt), ví dụ theo cách này

stty intr ^J

(Tôi đã chọn Ctrl+ Jvì tôi không nhớ đó là liên kết với một số hành động, nhưng bạn có thể đưa ra lựa chọn của riêng mình.)

Tôi không nghĩ có thể giữ lại hành động ngắt mặc định cho Ctrl+ Cchỉ khi không có văn bản được tô sáng.


1
Như @Pithikos đã lưu ý trong câu trả lời của mangoDrunk, sau khi ánh xạ lại phím tắt Sao chép sang Ctrl + C, bạn có thể sử dụng Ctrl + Shift + C để ngắt mà không phải định cấu hình bất kỳ thứ gì khác.
dubrox

1
Tôi đặt nó thành ^ Q vì nó thường là "giải phóng / bắt đầu", thứ hiếm khi được sử dụng, có hại và gần với CTRL hơn. Nếu ai đó cũng quyết định làm điều này, họ không được quên ánh xạ lại "bắt đầu" trước như: stty start ^ J
k3a

Lưu ý rằng không thể đặt nó thành một kết hợp liên quan đến Shift bằng cách sử dụng stty. (Tôi đã đặt nó thành ^ X, vì 'cắt' không có ý nghĩa gì ở đây.)
Evgeni Sergeev

39

Ctrl+ Cđã được gán cho một lệnh khác, đó là lệnh làm gián đoạn chương trình đang chạy trong thiết bị đầu cuối Ví dụ, ping www.google.com sẽ bắt đầu ping Google cho đến khi bạn bảo nó dừng. Cách bạn làm điều đó là bằng cách nhấn Ctrl+C

Vì vậy, họ không thể thay đổi sự phân công của sự kết hợp đó.

Đánh dấu văn bản bạn muốn sao chép, nhấn Ctrl+ Shift+ Cvà nó được sao chép vào bảng tạm. Ctrl+ Shift+ Vvà bạn dán nó.

Hãy cho tôi biết nếu nó không hoạt động ...


16
Thay vì nói rằng các tổ hợp phím đó có ý nghĩa cụ thể khác trong thiết bị đầu cuối, có lẽ đúng hơn khi nói rằng các ứng dụng bảng điều khiển khác nhau có thể sử dụng chúng, vì vậy nếu trình giả lập thiết bị đầu cuối không chuyển chúng vào nó có thể khiến các ứng dụng đó không thể sử dụng được .
James Henstridge

6
OS X thông minh hơn một chút: khi một số văn bản được chọn, nó diễn giải Ctrl+Cthành bản sao và khi không có văn bản nào được chọn, nó diễn giải nó thành ngắt.
Behrang

5
Thật ra, OS X không thông minh hơn. Phím tắt sao chép bàn phím là Cmd-C, không phải Ctrl-C.
Andrei Maxim

28

Ngoài những gì @Dan nói, còn có một tùy chọn khác để dán văn bản sao chép trong Linux mà tôi đang tìm kiếm nhanh hơn và dễ sử dụng hơn, vì không cần phải quét từ chuột (mà bạn đang sử dụng để tạo vùng chọn) cho bàn phím :

  • chọn văn bản với chuột sao chép nó vào clipboard
  • nhấp chuột giữa nó dán.

Tính năng này đặc biệt hữu ích trong thiết bị đầu cuối, ví dụ như khi tập hợp một lệnh từ các bit văn bản đã có trên màn hình.

Điều này hoạt động trong tất cả các ứng dụng, vì vậy có thể sao chép-dán văn bản từ trang web sang thiết bị đầu cuối, v.v.

Bộ đệm clipboard được sử dụng để sao chép-nhấp chuột giữa tách biệt với bộ đệm được sử dụng cho Ctrl-C / Ctrl-V, giúp có thể có hai bit văn bản khác nhau được sao chép cùng một lúc.


25

Như đã lưu ý, Ctrl+ Cthường được sử dụng để làm gián đoạn chương trình. Nhưng thay vì sử dụng Ctrl+ Shift+ Cđể sao chép, điều mà tôi thường xuyên làm hơn là làm gián đoạn một quá trình, tôi thay đổi cài đặt thành Ctrl+ Cđể sao chép và Ctrl+ Shift+ Cđể ngắt.

Bạn có thể thực hiện việc này trong Thiết bị đầu cuối Gnome bằng cách đi tới "Chỉnh sửa" -> "Phím tắt bàn phím ..." và ánh xạ hành động "Sao chép" thành Ctrl+ Cvà "Dán" thành Ctrl+ V. Lệnh ngắt sẽ tự động được ánh xạ lại thành Ctrl+ Shift+ C.


1
Nhưng làm thế nào để tôi ánh xạ Ctrl + Shift + C để làm gián đoạn một quá trình?
kramer65

11
Nó tự động xảy ra với tôi. Tất cả những gì tôi đã làm là đặt Copy thành Ctrl + C và sau khi lưu nó, Ctrl + Shift + C bị gián đoạn.
xoàiDrunk

1
@mangoDrunk lý do là Shift + Ctrl + <key>về cơ bản giữ bản in giống như nhân vật Ctrl + <key>. Bạn có thể kiểm tra vớiread
Pithikos

Tôi khuyên bạn nên làm điều này bởi vì tôi sao chép dán RẤT NHIỀU hơn tôi làm gián đoạn một quá trình và thật dễ dàng để nhớ ctrl + shift + C là gián đoạn thay vì thay đổi thói quen sao chép giống như mọi nơi khác.
flyingdrifter

3

Để thực hiện cắt và dán ( Ctrl+ V, Ctrl+ C) trong bảng điều khiển hoặc thiết bị đầu cuối, hãy đặt đoạn mã sau vào thiết bị đầu cuối để tự động thay đổi các ràng buộc chính:

gconftool-2 -t str -s /apps/gnome-terminal/keybindings/copy "<Control>c"

gconftool-2 -t str -s /apps/gnome-terminal/keybindings/paste "<Control>v"

1

Xin lỗi vì đã viết một câu trả lời về điều này, có vẻ như tôi đã dành quá nhiều danh tiếng của mình cho tiền thưởng vì có thể đăng bình luận.

Không có cách nào để thay đổi hành vi của các phím tắt tùy thuộc vào việc có lựa chọn văn bản hay không và tôi sẽ tránh gán lại Ctrl-C của thiết bị đầu cuối.

NHƯNG, bạn có thể dễ dàng làm quen với

  • Ctrl+ Insđể sao chép
  • Shift+ Insđể dán

Điều này thực tế hoạt động ở khắp mọi nơi (ngoại trừ Nautilus , thở dài), và hầu như không bao giờ can thiệp vào bất cứ điều gì!


1

Có ai đó muốn bạn có thể sử dụng:

> stty intr ^K         # free Ctrl+C for copy use Ctrl+K instead
> stty lnext ^-        # free Ctrl+V for paste use ^- instead
> stty -g
> stty -g > ~/.stty    # store the settings in home directory

Thêm vào đây ~/.bashrc

case $- in
 *i*)
   stty `cat ~/.stty`     #  reload the stored stty settings
   bind -u quoted-insert  #  unbind the quoted-insert function of bash - free Ctrl+V for paste
esac

Và sau đó trình soạn thảo gconf hoặc somesuch để thay đổi keybindings của thiết bị đầu cuối thành CTRL+ Ccho Sao chép và CTRL+ Vđể dán.


Argh ... định dạng đã bị bỏ qua. Xem: sandipchitale.blogspot.com/2008/10/ Cách
Sandip Chitale

1

trong Lxterminal (thiết bị đầu cuối mặc định trong Lxde), bạn hoàn toàn có thể tùy chỉnh các phím tắt:

nhập mô tả hình ảnh ở đây


0

Tôi nghĩ rằng bạn không thể bởi vì trong gnome terminal Ctrl+ C, Ctrl+ X, Ctrl+ Vkhông hoạt động. Để cắt, sao chép và dán bạn phải làm nổi bật văn bản, nhấp chuột phải và chọn hành động bạn muốn làm


bạn vẫn có thể sử dụng các phím tắt để cắt trong thiết bị đầu cuối, đó là ctrl + shift + c (copy) và ctrl + shift + v (paste) và ctrl + shift + x.
Tăng

0

Như đã nói, Ctrl-C sẽ không hoạt động vì việc sử dụng bị gián đoạn, nhưng tôi chỉ tìm ra một cách làm việc cho tôi. Mục tiêu của tôi là chỉ có hai phím chứ không phải ba và tốt nhất là thứ tôi đã từng sử dụng và không quá bất tiện ở một vị trí trên bàn phím. Bàn phím tôi có trên hộp Linux của mình có phím "Windows", cùng vị trí với phím Command trên máy Mac. Vì vậy, tôi vừa đi đến Chỉnh sửa> Phím tắt, khi tôi thay đổi các phím tắt để sử dụng phím này, nó báo là Super + C và Super + V. Đôi khi tôi cũng sử dụng máy Mac, vì vậy điều này rất dễ làm quen.

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.