Why does Option+Left Arrow work in Vim, but not Right Arrow on Mac OS X?

I'm not really sure if you want to change the default behavior as this isn't going to work very well in other terminal applications.

Option+Left moves back a word because vim sees it as esc+b. (seems to be the default in Terminal). So if you are in insert mode you are popped out to normal mode and than b is executed which is move back a word. If you are in normal mode the escape does nothing and b moves you back a word.

Option+Right looks like it does nothing because vim sees it as esc+f. The f causes vim to wait for the next letter and if you entered something right after the f you would move forward to find that letter.

One way to change it is to go into Terminals preferences and change what Option+Right is mapped to. You can do this by going to Preferences -> Settings -> Select Current Profile -> Keyboard. At this point you can either edit "option cursor right" or add a new "option cursor right" (by clicking the plus this will overwrite the actual one). And set the mapping to \033w by typing esc+w. Then hit ok with the mouse. (Hitting enter will cause the enter key to be absorbed by the text box. You do not want that)

After this is done open a new tab and Option+Right will do what you want in vim but probably won't do what you want anywhere else. (it might though)

One other way is to change the mappings to Control+Left and Control+Right. Normally in vim these are mapped to B and W respectively. To do this follow the instruction I wrote for Is there any way to go word by word using `Ctrl + ->`

Although learning how to use vim with only the keyboard is probably better.