Ctrl-R 역방향 검색 후 정방향 검색을위한 단일 바로 가기


13

나는 항상 Ctrl+를 사용 R하지만, 너무 빨리 누르면서 내가 따르는 명령을 지나가는 경우가 종종 있습니다.

검색을 전달하는, Ctrl+ S사용이 (여기서, 제 경우 konsole 바로 단말 제를 사용하지 않는 것 제공 될 수 stty -ixon~/.bashrc수정 및).

그러나, 나는 그것을 두 번 눌러야합니다. 한 번 모드 에 들어간 i-search후에 들어가고 reverse-i-search두 번째로 실제로 뒤로 물러 나면됩니다 .

바로 가기를 두 번 누르지 않아도되는 방법이 있습니까?


3
Ctrl-R과 마찬가지로 첫 번째 Ctrl-S는 문자열이 검색되기를 기다립니다. 두 번째는 이전에 사용한 것과 동일한 검색 문자열을 재사용합니다 (상황에서는 Ctrl-R 사용). 나는이 두 단계를 피할 방법이 없다. readline"다른 방식으로 같은 문자열 검색"기능이 없습니다.
xhienne

답변:


11

다른 접근법이 있습니다. 기본 vi 편집 명령에 익숙한 경우 bash는 명령 행 편집을위한 vi 모드를 지원합니다. 당신이 정말로 vi를 싫어한다면 당신은 이것을 좋아하지 않을 것입니다. 그러나 견딜 수 있다면 키 입력이 적고 선호하는 것을 알 수 있습니다.

-o vi로 설정

기록 검색은 다음과 같이 작동합니다.

  • Esc 명령 모드로 들어가기
  • / 검색을 시작합니다
  • 검색 문자열의 텍스트를 입력하십시오
  • Enter 검색을 수행
  • n 다음 경기로 이동
  • N 이전 경기로 돌아가려면
  • i 삽입 모드로 돌아 가기
  • Enter 명령을 실행

Ctrl-R 및 Ctrl-S에 해당하는 vi 스타일은 각각 nN입니다. 그리고 두 번 두드리지 않아도됩니다. 흥미 롭다!
Nathaniel M. Beaver

2

배쉬 히스토리 검색은 검색하는 방향을 알려주기 위해 바로 가기를 먼저 누른 다음 실제로 검색을 수행하려면 두 번째를 눌러야합니다. 소스 코드를 수정하지 않고 작동 방식을 변경할 수 없다고 생각합니다.

그러나 고급 검색 옵션이있는 제안 상자가있는 hstr (https://github.com/dvorka/hstr) 을 설치하면 명령 기록을 쉽게보고 탐색하고 검색하고 관리 할 수 ​​있습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.