Eu tenho o seguinte alias no meu zshrc
alias nif='nvim $(rg --files | fzf -m || echo +qa)'
Essencialmente, eu uso rg (ripgrep) para mostrar todos os arquivos no diretório atual e em subdiretórios. Isso é canalizado para o fzf, onde posso selecionar alguns deles e então é aberto no neovim. Quando tudo estiver dito e feito, o comando final acaba sendo algo como
nvim my_file.cpp
No entanto, na minha história, apenas mostra o nif
alias. Existe alguma maneira de substituir nif
no meu histórico pelo comando que ele expandiu para like nvim my_file.cpp
?
Responder1
Faça com que seu alias adicione sua expansão ao histórico com print -s
.
Em vez de:
alias nif='nvim $(...)'
usar
alias nif='f=$(...); print -rs nvim $f; nvim $f'
A mesma coisa funciona com uma função em vez de um alias, o que significa que você pode abstrair e reutilizar o salvamento do histórico em vez de duplicá-lo em todos os seus aliases.