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

As a Linux user, I am very used to jump from word to word in vim/nano using ALT+left or right.

This doesn't seem to work properly using iTerm, I am using zsh, I tried adding;

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

It does work, but inside zsh only, then I commented those lines and added in iTerm a keyboard shortcut;

enter image description here

It does work, but only for the ALTleft

How can I make it work for the right arrow too?

share|improve this question

In iTerm's properties go to Profiles -> Keys and setup there

  • For ⌥→ Send Escape Sequence [1;5C
  • For ⌥← Send Escape Sequence [1;5D

enter image description here

share|improve this answer
That doesn't work for me. The escape sequences are sent, but vim only moves one space back and forth. Running the default vim 7.3 that comes with OS X 10.8. Ideally, I'd like to change it on vim's side, not tweaking the defaults of the Terminal emulator (since that'll result in better portability). – slhck Sep 6 '13 at 7:01
That's weird, it works both in vim (from homebrew, not a default one) and zsh with the default configuration from oh-my-zsh (in ~/.oh-my-zsh/lib/ – eiennohito Sep 6 '13 at 7:04
Doesn't work here either, I can use alt + arrow in inside zsh, in Vim it only works with shift + arrow :( – Ben Mezger Sep 7 '13 at 17:34
I checked it one more time on available remote systems (ubuntu 13.04, stable debian, and scientific linux) and it works everywhere. What is the output when you press Control+V, ⌥→? For me it is ^[[1;5C – eiennohito Sep 8 '13 at 9:03
Works for me: iTerm/Vi + zsh – Petro Semeniuk Jan 31 '14 at 2:20

Start by viewing the key code your terminal is sending to vim:

$ sed -n l

In the above example, i ran the sed command and pressed Alt + Left.

The ^[[1;9D is the escaped sequence being sent to vim, so we can user that for our mapping.

Add to vimrc:

map <Esc>[1;9D :tabn<CR>
share|improve this answer

I read another post describing that for option-left and option right, you need to bind them to the actions ^[b and ^[f, respectively. That is, you bind them to "Send escape sequence" and bind key b and f.

share|improve this answer
+1! I found similar instructions here:… – Cam Jackson Dec 14 '15 at 0:29

Just an other possible solution, vim offers word motions on its own, see:

:help word-motions
share|improve this answer
You should include the essential information instead of just putting a reference here. – pabouk Jan 24 '14 at 12:39

You must log in to answer this question.

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