У меня в 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'
То же самое работает с функцией вместо псевдонима, что означает, что вы можете абстрагировать и повторно использовать сохранение истории вместо того, чтобы дублировать его во всех ваших псевдонимах.