I was reading up in the Linux manual and I noticed that it said I could use control+left and control+right to move forward and back words in the terminal while editing.
"Pressing Ctrl plus the Left or Right arrow key moves backward or forward a word at a time, as does pressing Esc and then B or F."
On OS X control+left
and control+right
normally control spaces. I have disabled those. I also tried to use the preferences pane to set the keyboard shortcuts:
However this does not work and causes this error:
Also, if I am in iTerm and use alt+escape
then B or F the character moves back and forth. This was happening before any of my config changes. But I'd really like to be able to use control + the arrow keys.
Best Answer
bash
Just add the following to
~/.inputrc
:See this archived Wiki post for some more explanation. If you want to use the alt key instead for word-to-word movement (like default OS X behavior), use:
zsh
zsh by default does not use the
readline
library and therefore won't read~/.inputrc
. To get the same functionality, you could add the following to your~/.zshrc
– this again would use the alt key:See this documentation for more about the built-in zsh line editor (zle).
Why is this? You've set up your profile to use the Xterm defaults:
This is why you'll need to "catch" this sequence and tell
readline
what to do.If the above still doesn't work and you are using OS X 10.9 (Mavericks) or there abouts, you probably need to disable the global Mission Control shortcuts which prevent Control+arrow keys from reaching iTerm, even if Mission Control itself is disabled. You can do so from System Preferences → Keyboard → Shortcuts → Mission Control: