Làm thế nào để chạy lệnh mà không cần nhấn Enter Key?


119

Vô tình tôi ánh xạ Enterqua xkbsettới Pointer_button2.

Bây giờ mỗi khi tôi nhấn Entermột số văn bản vô nghĩa xuất hiện.

Tôi đã nghĩ đến một cách giải quyết liên quan đến việc ánh xạ lại nó, nhưng điều đó có nghĩa là tôi sẽ phải chạy một lệnh xmodmap -e "keycode 135 = Pointer_Button2"(hoặc bất kỳ mã khóa nào khác nhưng đó là Enter). Nhưng tôi không thể chạy lệnh này trong terminal, mà không nhấn Enter.

Làm thế nào để tôi làm như vậy?

Tôi đang chạy Ubuntu 12.04.


5
Một ngày nào đó máy tính sẽ có thể hoàn tác mọi thứ. Giống như chúng ta có với các ảnh chụp nhanh hệ thống tệp bây giờ, nhưng với nội dung của RAM ... như quay lại những gì chúng ta đang làm. Bỏ nhập lệnh. Bỏ mở một tập tin. Hủy chạy chương trình Bỏ làm 5 phút cuối. Sau đó, internet sẽ bắt kịp ... Bỏ đọc một trang web: Bạn chưa bao giờ ở đó! Có thể một ngày nào đó chúng ta sẽ có thể giải quyết các vụ tai nạn xe máy, khôi phục các cột đèn để đứng thẳng, v.v.
Johan

2
@Johan Bạn đã dùng loại chất gì khi viết bình luận này? </ đùa>
Luc M

Câu trả lời:


125

Bạn có thể sử dụng CTRL+ Jhoặc CTRL+ Mthay thế cho Enter. Chúng là các ký tự điều khiển cho linefeed (LF) và trả về vận chuyển (CR).


4
Sheeshẻ tại sao những người không thể có 6,705 điểm lại để một số câu hỏi dễ dàng này đến với số đông chưa được giải đáp? (Đùa thôi - +1 cho câu trả lời tôi sẽ đăng.)
Jan Steinman

5
@JanSteinman Bởi vì sau đó họ sẽ chỉ có 6.330 điểm (6705 - 15 - 36 * 10). : P
ernie

3
@JanSteinman: Tôi đã để nó qua! Đã có ba câu trả lời khác khi tôi trả lời, và một câu được chấp nhận. Dường như trẻ em ngày nay không biết ASCII của chúng :-) (@ernie: có giới hạn danh tiếng hàng ngày, vì vậy bạn không có được tất cả những điểm đó).
camh

Cảm ơn vì đã chấp nhận một số ribbing tốt bụng - không có ý định nhỏ nào cả. Nếu bạn biết điều đó, hãy cho thấy nó!
Jan Steinman

2
@ user13107 Không quá nhiều lịch sử như chính định nghĩa mã ASCII. Khi ASCII có khá nhiều (trừ khi bạn ở trong vùng đất của IBM), các khóa Trả về và Linefeed phải được mã hóa thành một cái gì đó để chúng ta có thể nhập chúng vào các loại điện thoại ASR-33 đáng tin cậy hoặc thẻ đục lỗ của chúng tôi. Thậm chí có một gói ascii bạn có thể cài đặt sẽ hiển thị nó. Phím Ctrl chỉ lấy mã cho một trong 32 ký tự đầu tiên và đặt lại một bit thành 0. Đối với M, nó đã thay đổi 4D thành 0D, đó là trả về vận chuyển (và thực sự có một cỗ xe trên ASR-33. )
Joe

40

Trong một cửa sổ terminal (tôi chỉ thử nghiệm aterm, rxvt, vtexterm), bạn có thể chọn cuối dòng, trong đó dán lại có tác dụng cấp bách Enter:

#          ____________type the command____________  __select to end of line__
#         /                                        \/                         \
bash-4.2$ xmodmap -e "keycode 135 = Pointer_Button2"

Sau đó dán văn bản đã chọn trở lại trong cửa sổ đầu cuối bằng cách nhấp vào nút chuột giữa (hoặc nhấp chuột trái và chuột phải đồng thời, nếu được cấu hình như vậy).


1
Mát mẻ! Tôi nghĩ rằng không có cách nào để sao chép-dán các ký tự không thể in được.
dùng13107

26

Chạy lệnh từ thiết bị đầu cuối không phải là X.

CTRL+ ALT+ F2sẽ đưa bạn đến một giao diện điều khiển bình thường. Đăng nhập như người dùng bình thường của bạn, và sau đó chạy lệnh ở đó.

xmodmapchỉ ảnh hưởng đến các phiên X nên nó cần DISPLAYhoạt động bên ngoài máy chủ X, như thế này:

DISPLAY=:0 xmodmap

Cảm ơn. Nhưng nó báo lỗixmodmap unable to open display ``
user13107

1
Bạn có thể hiển thị cho nó DISPLAY="0"hoặc hiển thị tệp, trong$HOME/.Xmodmap
Burhan Khalid

6
DISPLAY=:0
Lỗi

14

Bạn có thể đặt nó vào một tập lệnh (.sh) và sau đó nhấp đúp vào tập lệnh. Hầu hết các môi trường máy tính để bàn hiện đại cung cấp tùy chọn chạy tập lệnh thay vì mở tập lệnh trong tệp văn bản.


Cảm ơn. Thử nó. Không tìm thấy tùy chọn chạy nó dưới dạng tập lệnh.
dùng13107

Đồng ý. Nó hoạt động sau khi thay đổi thuộc tính tập tin.
dùng13107

11

Nếu bạn có chuột và màn hình đồ họa, bạn có thể sao chép phần cuối của dòng trước trong thiết bị đầu cuối của mình và dán nó vào cuối lệnh của bạn.


4

CTRL+ Olà một lựa chọn khác. Với bash, nó thực thi lệnh và di chuyển đến lần gần đây nhất trong lịch sử, rất hữu ích để quay trở lại thông qua một chuỗi các lệnh đã thực hiện trước đó.


1

Nếu bạn có chuột thì chỉ cần sao chép này -> "

"

và dán bên cạnh lệnh của bạn và sau đó dán toàn bộ lệnh vào thiết bị đầu cuối.

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


Điều này đã được đưa ra như một câu trả lời
Philippos
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.