ZSH 기록에서 별칭 확장

ZSH 기록에서 별칭 확장

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

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

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

nvim my_file.cpp

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

답변1

별칭이 역사에 확장명을 추가하도록 하세요 print -s.

바꾸다:

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

사용

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

별칭이 아닌 함수에도 동일한 내용이 적용됩니다. 즉, 모든 별칭에 걸쳐 기록을 복제하는 대신 기록 저장을 추상화하고 재사용할 수 있습니다.

관련 정보