최근에 bash에서 zsh로 전환했습니다. 내가 이전에 실행 명령했다 찾는 데 사용하는 것이 (재귀 검색 이외의) bash는, 하나의 방법으로 history | grep whatever
어디, whatever
내가 기억하는 명령의 비트입니다.
zsh에서는 작동하지 않습니다. history
내 .zsh_history
파일에 많은 항목이 포함되어 있어도 몇 가지 항목 만 반환합니다 .
검색에 적합한 전체 기록을 어떻게 출력 할 수 grep
있습니까?
답변
히스토리는 zsh 항목의 범위를 [first] [last]
인수 로 허용 하므로 모두 실행 history 0
합니다.
Alt-h
히스토리 명령에 zsh 도움말 (적어도 염두에 두어)을 입력 하면 내장 도움말이 표시됩니다.
답변
허용되는 대답은 정확하지만 검색을 수행하기 위해 외부 이진을 호출 할 필요 는 없습니다 .grep
.zshrc
histsearch() { fc -lim "*$@*" 1 }
노트:
-
fc
대화식 히스토리를 제어하는 zsh 내장입니다.history
와 같습니다fc -l
. -
-m
플래그는 인용되어야하는 패턴을 필요로한다. -
-i
플래그는 타임 스탬프를 추가합니다. -
fc
는 더 많은 트릭을 가지고 있습니다 (예 : 현재 세션의 내부 기록으로 검색 제한).zshbuiltins(1)
매뉴얼 페이지 또는 공식 문서를 참조하십시오 .