Автоматическое переключение версии Node.js с помощью NVM и файла .nvmrc для Fish shell

Можно сделать так, чтобы при смене директории  NVM сам переключал нужную версию Node.js.

Добавьте в ~/.config/fish/config.fish следующие строки после активации NVM или NVM wrapper:

function __check_nvm --on-variable PWD --description 'Calling nvm use automatically in a directory with a .nvmrc file'
       status --is-command-substitution; and return

       set -lu nvm_version (nvm version)
       set -lu nvm_version_default (nvm version default)

       if test -f .nvmrc; and test -r .nvmrc
               nvm use
       else if [ "$nvm_version" != "$nvm_version_default" ]
               echo "Reverting to nvm default version"
               nvm use default
       end

       set -le nvm_version
       set -le nvm_version_default
end

Теперь при навигации между папками Fish будет проверять есть ли в текущей директории файл .nvmrc и вызывать nvm use, если нужно.

НО. Данный метод плохо сказывается на скорости переключения директорий.