CONFIDENTIAL bash-4.4.20-5.el8.x86_64 & readline-7.0-10.el8.x86_64 on RHEL 8.10
$ echo $BASH_VERSION 4.4.20(1)-release $ set -o vi $ : one $ : two $ : three $ history 1 echo $BASH_VERSION 2 set -o vi 3 : one 4 : two 5 : three 6 history '<esc>4G' displays : $ :two '3G' displays $ :one '6G' - or any number greater than 3 - incorrectly displays first entry in history $ echo $BASH_VERSION Basically once you have gone back to a certain history even number, you cannot go forward again. Ideally 'G' on its own should jump to 'end-of-history' without having to remap bindings (would lose <n>G functionality), but as it stands all roads lead to beginning-of-history. cf. https://unix.stackexchange.com/questions/792793/bash-or-ksh-vi-mode-how-to-jump-to-end-of-history-most-recent-command Regards, Scott