diff --git a/lib/git/aliases_and_bindings.sh b/lib/git/aliases_and_bindings.sh index 73d42ee..9657f2e 100644 --- a/lib/git/aliases_and_bindings.sh +++ b/lib/git/aliases_and_bindings.sh @@ -160,8 +160,11 @@ _bind(){ if [[ "$git_keyboard_shortcuts_enabled" = "true" ]]; then case "$TERM" in xterm*|rxvt*) - _bind "$git_commit_all_keys" "\" git_commit_all\n\"" - _bind "$git_add_and_commit_keys" "\"\e[1~ git_add_and_commit \n\"" + # Uses emacs style keybindings, so vi mode is not supported for now + if ! ([[ $shell == "bash" ]] && set -o | grep -q '^vi .*on$'); then + _bind "$git_commit_all_keys" "\" git_commit_all\n\"" + _bind "$git_add_and_commit_keys" "\"\e[1~ git_add_and_commit \n\"" + fi # Commands are prepended with a space so that they won't be added to history. # Make sure this is turned on with: