Когда я связываю его с помощью bind \ например gohome и нажимаю Alt + GI, мне все равно нужно нажать Enter, чтобы вызвать его.
Вы этого не делаете. Функция выполняется, как только вы нажимаете клавишу.
В результате ваша подсказка не перекрашивается для обновления текущего каталога, и нажатие клавиши ввода вызывает это.
Do commandline -f repaint
либо в
bind \eg 'gohome; commandline -f repaint'
, либо в функции.