I have set -o vi in my ~/.profile, and it works fine on the regular console and under Tmux. But when I run Screen, if I press Escape or ^[, I get a visual bell, the next key I press seems to get eaten by something, and then I'm still in Insert mode in Bash. How do I tell Screen to pass the ^[ on to the shell? (Or, alternately, is there something I can do in .inputrc that will allow me to use a different key combo to enter command mode?)

  • 1
    screen doesn't read .profile for its subshells.
    – DopeGhoti
    Commented Apr 27, 2017 at 17:41
  • Good Lord... thank you. Now to remove my palm from my face...
    – Bandrami
    Commented Apr 27, 2017 at 17:53
  • Pleased to be of service!
    – DopeGhoti
    Commented Apr 27, 2017 at 17:54

1 Answer 1


If you switch to vi-editing mode via set -o vi in your .profile, this won't be passed into the screen's shell, because the screen's shell isn't a login shell and thus doesn't read .profile.

You need to put the following into your .inputrc

set editing-mode vi
  • Thank you! I'm embarrassed that the answer was so stupid. For any lurkers, I'll add that you can also set in screenrc shell -$SHELL, which makes screen subshells be full login shells.
    – Bandrami
    Commented Apr 28, 2017 at 0:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .