Phím tắt đơn để chuyển tiếp tìm kiếm sau khi tìm kiếm ngược Ctrl-R


13

Tôi sử dụng Ctrl+ Rmọi lúc, nhưng cuối cùng tôi thường đi qua lệnh tôi sau khi tôi nhấn nó quá nhanh.

Để chuyển tiếp tìm kiếm, Ctrl+ Scó thể được sử dụng miễn là nó không được sử dụng lần đầu tiên thiết bị đầu cuối (Konsole trong trường hợp của tôi, trong đó stty -ixontrong ~/.bashrccác bản sửa lỗi nó).

Tuy nhiên, tôi phải nhấn nó hai lần: một lần nó dường như vào i-searchsau khi ở reverse-i-searchchế độ và lần thứ hai để thực sự lùi lại.

Có cách nào để loại bỏ sự cần thiết phải nhấn phím tắt hai lần?


3
Cũng như Ctrl-R, Ctrl-S đầu tiên chờ chuỗi tìm kiếm. Chuỗi thứ hai sử dụng lại chuỗi tìm kiếm mà bạn đã sử dụng trước đó (với Ctrl-R trong tình huống của bạn). Tôi biết không có cách nào để tránh hai bước đó. readlinethiếu chức năng "tìm kiếm cùng một chuỗi theo cách khác".
xhienne

Câu trả lời:


11

Đây là một cách tiếp cận khác nhau. Nếu bạn cảm thấy thoải mái với một số lệnh chỉnh sửa vi cơ bản, bash hỗ trợ chế độ vi để chỉnh sửa dòng lệnh. Nếu bạn thực sự ghét vi bạn sẽ không thích điều này. Nhưng nếu bạn có thể chịu đựng được nó, bạn có thể thấy nó thích hợp hơn và với ít lần nhấn phím hơn.

đặt -o vi

Tìm kiếm lịch sử hoạt động như thế này:

  • Esc để vào chế độ lệnh
  • / để bắt đầu tìm kiếm
  • Nhập văn bản của chuỗi tìm kiếm
  • Enter để thực hiện tìm kiếm
  • n để đi đến trận đấu tiếp theo
  • N nhảy trở lại trận đấu trước
  • i để quay lại chế độ chèn
  • Enter để chạy lệnh

Các khoản tương đương vi-style để Ctrl-R và Ctrl-S là nN, tương ứng. Và họ không yêu cầu khai thác hai lần. Hấp dẫn!
Nathaniel M. Beaver

2

Rõ ràng tìm kiếm lịch sử Bash yêu cầu nhấn phím tắt đầu tiên để cho bạn biết bạn đang tìm hướng nào, sau đó nhấn lần thứ hai để thực sự tìm kiếm. Tôi không nghĩ có thể thay đổi cách thức hoạt động mà không sửa đổi mã nguồn.

Tuy nhiên, bạn có thể cài đặt hstr (https://github.com/dvorka/hstr) có hộp gợi ý với các tùy chọn tìm kiếm nâng cao để dễ dàng xem, điều hướng, tìm kiếm và quản lý lịch sử lệnh của bạn:

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

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.