Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

3 Answers 3

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/key-bindings.sh). –  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 at 2:20

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

$ sed -n l
^[[1;9D 

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 use that for our mapping.

Add to vimrc:

map Esc[1;9D :tabnEnter
share|improve this answer

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

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.