Развернуть псевдоним в истории 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'

То же самое работает с функцией вместо псевдонима, что означает, что вы можете абстрагировать и повторно использовать сохранение истории вместо того, чтобы дублировать его во всех ваших псевдонимах.

Связанный контент