Fixing <right arrow> in bash vi input mode. Cannot type beyond last character Fixing <right arrow> in bash vi input mode. Cannot type beyond last character bash bash

Fixing <right arrow> in bash vi input mode. Cannot type beyond last character


Answer here: https://unix.stackexchange.com/a/222506/198846

Apparently it's a bug in the bash version shipped with OSX (3.2), it's fixed in 4.3 according to that answer. Use bash --version to check your bash version.

To fix, update bash, e.g.

macports: sudo port install bash

brew: brew install bash

Once installed bash --version will show it's updated (assuming standard brew/macports paths at the start of your $PATH)

You then have to change your default login shell (in System Preferences->Users & Groups->right click your user->advanced options->login shell) to the path of the new bash:

(default) macports: /opt/local/bin/bash

(default) brew: /usr/local/bin/bash

Changing the default login shell step is required even if which bash shows the macports/brew one.

All credit to the answer linked above.


Can't you edit .bashrc itself instead to use vi mode? The command set -o vi does it in my case (you are in edit mode initially). Also remove the .inputrc edit as the two may actually interact nefariously afterwards.