Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In vi, I have mapped 'jj' to escape to be able to switch to command mode without using the annoying escape key. Now I want to have the same for command line editing for which I use vi-mode. I already have found the following solution:

bindkey '^j' vi-cmd-mode

lets you change with control-j into command mode. Still searching for a solution without modifier-keys as 'jj' or something similar.

share|improve this question
Why not just remapping Caps Lock to Escape? – kyrias Jan 12 '13 at 21:34
up vote 15 down vote accepted

Note: You should look at man zshzle for a lot of goodies about customizing bindkey and emulating GNU readline.

This is how I mapped jj to Esc:

bindkey -M viins 'jj' vi-cmd-mode

If you're interested in distinguishing between insert-mode and normal-mode, you could try out the suggestion akira mentions here

share|improve this answer
yeah! works perfectly. thx alot! – Eman Resu Nov 6 '11 at 13:17
Are there any prerequisites that need to be fulfilled before this works in zsh? Or ways to debug the key bindings? After inserting this command, nothing happens. jj still doesn't work. – UltraMaster Aug 25 '14 at 4:12
I had KEYTIMEOUT set too low, that was the reason. – UltraMaster Aug 25 '14 at 4:16

You must log in to answer this question.

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