Проблема в том, что мне нужно нажать клавишу ввода после нажатия клавиши, чтобы она заработала
На самом деле это не так.prevd
происходит немедленно, но приглашение не перерисовывается, поэтому оно не отображает новый каталог.
Таким образом, привязка должна также выполнять commandline -f repaint
.
Также отображается сообщение «Хит конца истории…», когда я достигаю конца истории.
Это сообщение печатается prevd
на стандартном выводе (по какой-то причине).Чтобы запретить стандартный вывод, перенаправьте его в / dev / null, например prevd >/dev/null
.
Итак, в заключение:
bind \c_ 'prevd >/dev/null; commandline -f repaint'