Вам нужно переназначить курсоры вверх и вниз:
<code>bind -m vi-command '"\201": previous-history'
bind -m vi-command '"\202": next-history'
bind -m vi-command '"\203": end-of-line'
bind -m vi-command '"\e[A": "\201\203"'
bind -m vi-command '"\e[B": "\202\203"'
Это отобразит предыдущую историю, следующую историю и конец строки на несуществующие ключи, а затем отобразит последовательность этих символов вверх и вниз. Вы можете сделать то же самое для j / k, если хотите, но я бы рекомендовал оставить их в покое. Таким образом, вы можете сделать оба.
Это переназначает клавиши только в командном режиме. На моей машине курсор уже находится в конце строки в режиме вставки. Если это не так для вас, вы можете сделать то же самое, используя vi-insert вместо vi-command в качестве раскладки клавиатуры.