태그 보관물: command-history

command-history

역방향 검색을 사용할 때 bash 기록의 끝으로 돌아가시겠습니까? 되돌아 가고 싶습니다. 히스토리

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



답변

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-forward
history-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 참조 매뉴얼 – 히스토리 명령 .


답변