CTRL-r과 유사하게 검색 배쉬 히스토리를 전달할 수 없음


203

CTRL- 와 마찬가지로 bash 기록을 검색하려고 r하지만 방향을 찾으려고합니다 .

난 그냥 한 번에 너무 자주 쳤을 때 그것은 나를 위해 고통이었다 CTRL- r이전 명령을 다시 찾을.

리버스 검색에서와 마찬가지로 Bash 기록을 어떻게 검색 할 수 있습니까?

답변:


321

앞으로도 검색 할 수 있습니다. bash 정보 매뉴얼에서 " 8.2.5 히스토리에서 명령 검색 ":

특정 문자열의 히스토리에서 뒤로 검색하려면을 입력하십시오 C-r. 입력 C-s하면 기록을 통해 앞으로 검색합니다.

그러나 Ctrl-S의 문제점은 XON / XOFF 흐름 제어 (예 : Konsole)와 충돌하는 경우가 있습니다. 그러나 검색은 readline 기능이므로 다른 키에 바인딩 할 수 있어야합니다. 업데이트 : 더 간단하고 나은 방법은 XON / XOFF를 실행하여 비활성화하는 것입니다.

stty -ixon

4
이것은 훌륭하지만 .tty에 stty -ixon을 추가하면 새 탭에서 작동하지 않는 것 같습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? XON / XOFF가 기본적으로 비활성화되도록하고 싶습니다.
John Gallagher

13
다른 사람이 내가 한 것과 같은 문제가있는 경우-이것을 .profile에 추가하면 적용되지 않습니다. 마법이 발생하는 것은 .bash_profile에 추가 할 때만 가능합니다! 좋은 팁 주셔서 감사합니다-이것은 몇 년 동안 나를 미치게했습니다.
John Gallagher

12
참고로 @JohnGallagher 중요한다는 것입니다 .bash_profile.profile에서만 로그인 포탄을 위해 공급됩니다. 나는 이것을 .bashrc(내가 출처에서 .profile) 넣을 것이다 .
Victor Zamanian

13
[[ $- == *i* ]] && stty -ixon여기에 설명
mMontu

3
PuTTY를 사용 중이고 .bash_profile연결하는 모든 컴퓨터 에서 유지 관리 를 원하지 않거나 유지하고 싶지 않은 경우 수퍼 유저에 대한이 답변이 도움이 됩니다.
fazy

41

가장 좋은 트릭 이럴으로 활성화되어 pguppgdown. 그냥 당신의~/.inputrc

"\e[5~": history-search-forward
"\e[6~": history-search-backward

로그 아웃 / 로그인하고 첫 글자를 입력 한 다음 pgup또는 pgdown전체 기록을 검색하십시오.

ctrl-R 단어로 시작하는 모든 행을 검색하는 반면 단어로 시작하는 기록 검색 전 검색 행


2
이 두 줄의 주석을 해제 할 수도 있습니다 /etc/inputrc(예 : 우분투).
falconepl

2
"\ e [A": history-search-backward 및 "\ e [B": history-search-forward
shmup

이것이 bash에 영향을 미치지 않으면 어떻게됩니까?
Sören

26

당신은 시도 할 수 있습니다 https://github.com/dvorka/hstr 훨씬 더 효율적이고 빠르게 모두 전후 방향 인 즉 (선택 사항) 메트릭 기반의 순서로 배쉬 역사의 필터링 "상자 스타일을 제안"을 가능하게하는을 :

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

그것은 쉽게 할 수 바인딩Ctrl-r및 / 또는Ctrl-s


5
난 사랑에 빠졌어 Ubuntu에 설치하는 빠른 지침 :sudo add-apt-repository ppa:ultradvorka/ppa; sudo apt-get update; sudo apt-get install hh; hh --show-configuration >> ~/.bashrc;
CivFan

14

나는 보통 ESC터미널을 누른 다음를 누른다 >. 적어도 재설정 된 다음 클릭 횟수를 줄이십시오 CTRL+ R.


s / click / press / 또한, 이스케이프를 두 번 눌러야합니다 (처음으로 뒤로 검색에서 빠져 나오려면).
Croad Langshan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.