역방향 검색을 사용할 때 bash 기록의 끝으로 돌아가시겠습니까?


12

나는 상당히 긴 bash 기록을 유지하고 때로는 bash reverse search 기능 ( Ctrl+ r)으로 무언가를 검색 할 때 검색 기록의 시작 부분에서 끝나고 여전히 필요한 것을 찾지 못하고 끝으로 되돌아 가고 싶습니다. 히스토리 파일 하나의 옵션은 히스토리의 끝으로 가까워 지거나 실행 하는 정방향 검색 기능 ( Ctrl+ s)을 사용하는 것입니다. #그러나 bash 히스토리의 끝으로 직접 이동하는 키보드 단축키도 있습니까?


2
history모든 배쉬 명령을 보여줍니다 ..
ryekayo

답변:


6

readline 함수 end-of-history는 기본적으로 M-에 매핑 >되지만 리버스 검색 중에 사용하면 리버스 검색 프롬프트를 종료합니다.

가능한 해결 방법 / 트릭

문자열 검색 시작

대신 역방향 검색을 사용하려면 history-search-backwardhistory-search-forward(기본 매핑 해제)를 사용하여 다음 과 같이 up/down(매우 유용) 매핑 할 수 있습니다 .inputrc.

# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward

따라서 입력 한 후 up ( Ctrl+ 대신) 검색 누르기를 역으로 할 수 R있으며 기록의 끝으로 돌아가려면 end-of-history( M- >) 를 눌러 기능을 사용할 수 있습니다

이런 식으로 "검색 문자열은 히스토리 라인의 시작 부분과 일치해야합니다. "를 검색 ls -ltr하려면을 입력 ls한 다음 up키 를 눌러야합니다  .

부분 문자열 검색

당신이 원하는 경우 " 검색 문자열은 역사 선 어디서나 일치 할 수 있습니다, "당신은 사용해야 history-substring-search-forwardhistory-substring-search-backward:

# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward

이 방법은 당신이 검색 할 경우 ls -ltr, 당신은 입력 할 수 ls도 있지만, ltr당신이 키를 누르기 전에, up.

참조 : Bash 참조 매뉴얼 – 히스토리 명령 .

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