Zsh 셸 사용자를 위한 새로운 명령줄 기록 도구 'zhist'가 공개되어 개발자들 사이에서 주목받고 있습니다. 기존 Zsh의 내장 기록 기능은 사용자가 입력한 명령어와 실행 시각만을 저장했지만, zhist는 여기에 더해 명령어가 실행된 작업 디렉터리(working directory), 성공/실패 여부를 나타내는 종료 상태(exit status), 그리고 명령 실행에 소요된 시간(duration)까지 상세한 맥락 정보를 함께 기록합니다.
zhist는 Go 언어로 작성되었으며, 기존 Zsh 기록 파일을 대체하여 영구 저장소 역할을 합니다. 특히 'fzf' 피커와 연동되어 이러한 맥락 정보들을 시각적으로 활용할 수 있습니다. 예를 들어, 실패한 명령어는 빨간색으로 표시되고, 각 명령어의 실행 시간이 함께 나타납니다. 사용자는 단축키 하나로 전체 기록과 현재 디렉터리 기록을 전환하며 검색할 수 있으며, 특정 기록을 삭제하거나 동일한 명령어를 모두 삭제하는 기능도 제공합니다. 또한, `zhist search` 기능을 활용하면 `zsh-autosuggestions`와 연동하여 Fish 셸처럼 스마트한 인라인 명령어 추천 기능을 구현할 수 있습니다.
이러한 맥락 기반의 셸 기록은 개발자의 생산성을 크게 향상시킬 수 있습니다. 과거에 어떤 작업을 했는지, 특정 명령어가 왜 실패했는지, 그리고 얼마나 시간이 걸렸는지 등을 정확히 파악하여 시행착오를 줄이고 효율적인 작업 흐름을 구축하는 데 도움을 줍니다. 특히 복잡한 프로젝트나 여러 환경을 오가며 작업하는 개발자에게는 특정 디렉터리에서 실행했던 명령어를 빠르게 찾아 재활용하는 것이 매우 유용할 것입니다. zhist는 단순히 명령어를 다시 입력하는 것을 넘어, 과거의 경험을 학습하고 활용하는 새로운 방식의 터미널 사용 경험을 제공합니다.