2009-04-26 25 views
135

Tôi đang cố gắng tìm kiếm lịch sử bash của tôi tương tự như với CTRL - r, nhưng để chuyển hướng.Không thể chuyển tiếp tìm kiếm Lịch sử Bash tương tự như với CTRL-r

Nó đã được một nỗi đau đối với tôi, khi tôi chỉ cần nhấn một lần quá thường xuyên CTRL - r, để tìm các lệnh trước đó một lần nữa.

Làm cách nào bạn có thể chuyển tiếp tìm kiếm lịch sử Bash của bạn tương tự như tìm kiếm ngược?

Trả lời

220

Bạn cũng có thể tìm kiếm tiếp. Từ hướng dẫn sử dụng thông tin bash, "8.2.5 Searching for Commands in the History":

Để tìm kiếm lùi trong lịch sử cho một chuỗi cụ thể, hãy nhập C-r. Nhập C-s tìm kiếm chuyển tiếp thông qua lịch sử.

Vấn đề với Ctrl-S tuy nhiên đôi khi va chạm với điều khiển luồng XON/XOFF (ví dụ Konsole). Tuy nhiên, tìm kiếm là một tính năng readline và bạn có thể liên kết nó với một số khóa khác. Cập nhật: Đơn giản hơn và tốt hơn chỉ là tắt XON/XOFF bằng cách chạy

stty -ixon 
+1

Dường như với va chạm với XON/XOFF tất cả các thời gian cho tôi, vì tôi không thể làm cho Ctrl-S hoạt động. Làm cách nào để bạn có thể liên kết tìm kiếm với khóa khác? –

+0

@hlovdal: Cảm ơn rất nhiều! Bạn đã lưu ngày của tôi :) –

+4

Điều này thật tuyệt vời, nhưng tôi thêm stty -ixon vào .profile của tôi và nó dường như không hoạt động cho các tab mới. Bất kỳ ý tưởng về cách thực hiện công việc này? Tôi muốn XON/XOFF được tắt theo mặc định. –

7

Tôi thường nhấp ESC trong thiết bị đầu cuối và sau đó là '>'. Nó reset ít nhất và sau đó bạn có thể thử nhấn ít thường xuyên hơn CTRL + R.

+0

s/click/press/Ngoài ra, bạn cần phải nhấn thoát hai lần (lần đầu tiên thoát khỏi tìm kiếm ngược). –

31

Bí quyết tốt nhất IMHO được bật với pguppgdown. chỉ cần đặt rằng trong ~/.inputrc

"\e[5~": history-search-forward 
"\e[6~": history-search-backward 

logout của bạn/đăng nhập, nhập các chữ cái đầu tiên và sau đó pgup hoặc pgdown để tìm kiếm trong suốt lịch sử

ctrl-R tìm kiếm tất cả các dòng có chứa các từ, trong khi dòng tìm kiếm lịch sử tìm kiếm về phía trước bắt đầu với các từ

+2

Bạn cũng có thể bỏ ghi chú 2 dòng này trong '/ etc/inputrc' (ví dụ: trong Ubuntu). – falconepl

+1

Tôi muốn liên kết điều này với mũi tên lên và xuống: "\ e [A": lịch sử-tìm kiếm-lạc hậu và "\ e [B": history-search-forward – Jared

19

Bạn có thể muốn thử https://github.com/dvorka/hstr cho phép lọc "kiểu hộp gợi ý" với lịch sử Bash (tùy chọn) dựa trên thứ tự tức là hiệu quả hơn và nhanh hơn cả về phía trước và lùi tions:

enter image description here

Nó có thể dễ dàng bound để Ctrl-r và/hoặc Ctrl-s

+4

Tôi đang yêu. Hướng dẫn cài đặt nhanh trên Ubuntu: 'sudo add-apt-repository ppa: ultradvorka/ppa; sudo apt-get update; sudo apt-get cài đặt hh; hh --show-configuration >> ~/.bashrc; ' – CivFan

Các vấn đề liên quan