Câu hỏi Tìm kiếm lịch sử gia tăng


Tôi tìm thấy mẹo rất hữu ích này UsingTheTerminal để sử dụng các phím mũi tên để tìm kiếm thông qua lịch sử lệnh:

"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

Làm thế nào tôi có thể thay đổi nó để sử dụng Ctrl+P và Ctrl+N thay vì các phím mũi tên?


2
2017-07-31 19:21


gốc


Bạn cũng có thể sử dụng $ history [numberOfCommandsToReturn] nếu bạn không muốn sử dụng các phím mũi tên. - LittleByBlue
Sử dụng bind lệnh với tùy chọn đã chọn. Ví dụ cho Crtl+N sử dụng bind '"\C-n": history-search-backward' - Nykakin
Điều đó hiệu quả. Tôi có phải sao chép nó vào bashrc của tôi để làm cho nó vĩnh viễn? - Michael
Có, nó cần phải được đặt trong .bashrc hoặc nó sẽ chỉ ảnh hưởng đến phiên hiện tại. - Nykakin


Các câu trả lời:


Lặp lại những gì tôi đã nói trong phần bình luận để không để lại câu hỏi treo mà không có câu trả lời, để ràng buộc một trong Các lệnh readline của Bash bạn có thể dùng bind chỉ huy. Ví dụ, Crtl + N phím tắt có thể được sử dụng với:

$ bind '"\C-n": history-search-backward'

Điều này sẽ được giới hạn trong phiên hiện tại và cần được đặt bên trong .bashrc để có nó được thành lập trong mỗi một.

Mở rộng câu trả lời của tôi, bạn cũng có thể sửa đổi ~/.inputrc tệp, như được đề cập trong liên kết được cung cấp trong câu hỏi. Có hai cách để làm điều này. Cú pháp đầu tiên cho cùng một phím tắt như trên là:

"\C-n": history-search-backward

Và thứ hai là:

Control-n: history-search-backward

Loại cú pháp thứ hai này có thể được sử dụng với bind cũng:

$ bind 'Control-n: history-search-backward'

2
2017-08-01 18:21