Bash에서 (reverse-i-search)


26

나는 보통 CTRL+ r(reverse-i-search)에 + 를 사용 하지만 때로는 내가 찾던 명령을 전달합니다. 내가 다시 (reverse-i-search)하면 더 이상 찾지 못합니다. 명령 기록에 대한 현재 포인터가 내가 찾고있는 명령 앞에 있다고 가정합니다.

누구든지 1000 번을 클릭하지 않고 기록에서 가장 최신 명령으로 돌아가는 방법을 알고 down arrow있습니까?


1
리버스 검색은 bash (및 readline libaries)의 기능이므로 제목과 질문을 약간 편집하여 반영했습니다.
— 더그 해리스

당신이 원하는 명령을지나 CTRL+SHIFT+R가면 돌아가십시오
— Ricky Robinson

답변:


7

stackoverflow.com과 비슷한 질문 이 있습니다 .

가장 좋은 대답 Ctrl+G은 현재 검색을 취소하는 데 사용 하는 것입니다.


이것은 실제로 가장 좋은 대답은 아닙니다. 가장 좋은 대답은 Dennis Williamson이 제공 한 것 stty -ixon입니다. 사용자 .bashrc또는 다른 해당 구성 파일에 추가 한 다음 뒤로 단계 Ctrl-S와 마찬가지로 기록에서 앞으로 나아갑니다 Ctrl-G. 로 변경 Ctrl-S한 후 첫 번째 키를 누르면 다음 단계로 넘어 갑니다. 그런 다음 각각 한 발 더 나아갑니다. Ctrl-Greverse-i-searchi-searchCtrl-SCtrl-S
— nrz

또는 이미 검색을 종료 한 경우 (예 : esc 또는 화살표 키를 누름) Esc 키를 누른 다음 '>'
— Superole

38

실제로, 그 질문에 대한 또 다른 대답 은 더 나은 옵션을 제공합니다.

당신에 ~/.bashrc추가 다음 줄 :

stty -ixon

그런 다음 Ctrl- s를 사용 하는 것과 같은 방식으로 기록을 앞으로 진행하려면 Ctrl- r를 사용 하여 뒤로 이동하십시오.

이것은 기록을 탐색하는 동안 새로운 정방향 검색 ( i-search반대 reverse-i-search) 을 시작하는 데에도 도움이됩니다 . 당신이 가정 Ctrl- r다음 여러 번 당신이 정말로 찾고 있던 무엇을 오버 슈팅 위쪽 화살표 눌러 목적지 근처 명령의 일부 텍스트를 입력 (또는 당신은 당신의 마음을 바꿀). 이제 Ctrl-를 누르고 s해당 줄에서 몇 글자를 입력하십시오. 주움! 바로.


2
stty -ixon의 의미는 무엇입니까? 다른 상황에서 필요할 수있는 것을 비활성화합니까?
— Gregory Pakosz

7
@GregoryPakosz : XON / XOFF ( 소프트웨어 흐름 제어 )를 비활성화합니다. 이제 우리는 300 보드보다 약간 높은 속도로 통신하기 때문에 키보드에서 쓸모가 없습니다.
— 추후 공지가있을 때까지 일시 중지되었습니다.

감사합니다, 한동안 구글 검색하고 같은 결론에 도달, 그것은 오늘날 대부분 쓸모가 없습니다
— Gregory Pakosz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.