readline: 비증분 검색은 증분 검색이 제공하지 않는 기능을 제공합니까?

readline: 비증분 검색은 증분 검색이 제공하지 않는 기능을 제공합니까?

나는 bash에서 증분 검색(Ctl-r/Ctl-s)을 많이 사용하는데 매우 유용하다고 생각합니다.

나는 Meta-p(Esc p)가 비증분 검색을 실행한다는 것을 알았고, 그에 상응하는 증분 검색이 존재한다는 점을 고려하면 그 목적이 무엇인지 궁금합니다. 내가 간과하고 있는 몇 가지 트릭이 있나요? 명령 기록이 엄청나게 크다면 더 빠를 수도 있겠죠?

증분 검색에서 얻는 것과 동일한 대화형 피드백을 제공하지 않기 때문에 이를 사용하려는 이유가 궁금합니다.

답변1

나는 사람들이 다른 인터페이스에서 하는 것과 같은 이유로 Bash 기록에서 비증분 검색을 선호할 것이라고 생각합니다. 찾고 있는 것이 무엇인지 정확히 알면 관련 없는 일치 항목이 지나가는 것을 보는 것이 가능할 수 있습니다.

또한, 효율성. 지금은 그다지 많지 않지만 과거에는 증분 검색을 수행하는 것이 훨씬 느렸을 것이라고 상상할 수 있습니다.

답변2

나는 실제로 비증분 검색에 대한 아주 좋은 기능을 발견했습니다. 기본적으로 Readline은 다음을 바인딩합니다.

  • M-n도착하다non-incremental-forward-search-history
  • M-p도착하다non-incremental-reverse-search-history

이건 좀 나쁜 것 같아요, IMHO. 하지만 읽는 줄반품기본 바인딩이 없는 또 다른 비증분 검색 기능 쌍이 있습니다.

  • history-search-forward
  • history-search-backward

현재 줄의 시작 부분과 해당 지점 사이의 문자열을 기록에서 앞으로/뒤로 검색합니다.

이것들은 실제로 매우 유용합니다. 기본 비증분 함수를 대체하여 M-nand 에 바인딩했습니다 .M-p

명령을 입력하기 시작하고 일치하는 기록 항목을 검색하기로 결정하면 클릭할 수 있습니다 Escape p(실제로 메타 키가 없기 때문에).

반복적으로 클릭하면 앞뒤로 Escape n다시 순환됩니다.

관련 정보