Ampliar alias en el historial de ZSH

Ampliar alias en el historial de ZSH

Tengo el siguiente alias en mi zshrc

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

Básicamente, uso rg (ripgrep) para mostrar todos los archivos en el directorio actual y en los subdirectorios. Esto se canaliza a fzf donde puedo seleccionar algunos de ellos y luego se abre en neovim. Cuando todo está dicho y hecho, el comando final termina siendo algo así como

nvim my_file.cpp

Sin embargo, en mi historial solo muestra el nifalias. ¿Hay alguna forma de reemplazar nifen mi historial el comando en el que se expandió nvim my_file.cpp?

Respuesta1

Haz que tu alias agregue su expansión al historial con print -s.

En lugar de:

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

usar

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

Lo mismo funciona con una función en lugar de un alias, lo que significa que puedes abstraer y reutilizar el historial guardado en lugar de duplicarlo en todos tus alias.

información relacionada