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.