ZSH 기록에서 별칭 확장

ZSH 기록에서 별칭 확장

내 zshrc에 다음 별칭이 있습니다

alias nif='nvim $(rg --files | fzf -m || echo +qa)'

기본적으로 rg(ripgrep)를 사용하여 현재 디렉터리와 하위 디렉터리의 모든 파일을 표시합니다. 이것은 fzf로 파이프되어 그 중 일부를 선택한 다음 neovim에서 열립니다. 모든 것이 말하고 완료되면 최종 명령은 결국 다음과 같습니다.

nvim my_file.cpp

그러나 내 기록에는 nif별칭만 표시됩니다. nif내 기록에서 like로 확장된 명령으로 바꿀 수 있는 방법이 있나요 nvim my_file.cpp?

답변1

별칭을 사용하여 기록에 확장을 추가하도록 만드세요 print -s.

대신에:

alias nif='nvim $(...)'

사용

alias nif='f=$(...); print -rs nvim $f; nvim $f'

별칭 대신 함수에서도 동일한 작업이 수행됩니다. 즉, 모든 별칭에 복제하는 대신 기록 저장을 추상화하고 재사용할 수 있습니다.

관련 정보