Làm thế nào để thoát chế độ tìm kiếm lịch sử bash?


25

Trong Ubuntu 12.04 tôi sử dụng CTRL- Rđể nhập tìm kiếm lịch sử ngược. Nếu lệnh tôi muốn không được tìm thấy (sau khi lặp lại CTRL- R), làm thế nào để tôi ngay lập tức thoát trở lại dấu nhắc lệnh (trống) mà không có lệnh lịch sử nào được nhập hoặc thực hiện trên dòng lệnh?


1
Tôi không thể tin rằng tôi đã googled điều này và nó đã được hỏi và trả lời rồi: D
Nikhil

Câu trả lời:



17

Bạn có thể dùng:

  • Lệnh thoát bàn phím kiểu Emacs, Ctrl- G. Các ràng buộc khóa mặc định trong bashcó chủ đích giống như Emacs.
  • Kiểu Vi trở về các ràng buộc phím chế độ thông thường Eschoặc Ctrl- [(chúng giống nhau).
  • Gửi tín hiệu SIGKILL, Ctrl- C.

Hai cái đầu tiên có hiệu quả nhìn thấy ít nhất.


{Grin} Bạn có thể ngăn hiển thị "^ C" nếu bạn thêm stty -ctlechovào các tệp khởi động của mình (.bashrc, .profile, .zshrc, v.v.) Bây giờ TẤT CẢ ba phương thức có hiệu quả rõ ràng nhất.
lornix

vì một số lý do, Esc và Ctrl-C không hoạt động trên các hệ thống Ubuntu mà tôi đã thử (bao gồm cả 12.04 hiện tại của tôi).
MountainX

@lornix: Tôi thích có phản hồi trực quan của Ctrl-C. Chỉ cần tưởng tượng tác động tâm lý của việc nhấn Ctrl-C trước khi gửi một lệnh như rm -rf /(ví dụ cực đoan), đi xa, sau đó quay lại thiết bị đầu cuối. Có tiềm năng trò đùa thực tế trong việc này, tất nhiên.
Alexios
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.