How can I change Terminal so that I don't have to press ESC every time I want to type a meta-modified key?
Currently in emacs/terminal, I have to press ESC every time I want to send an escaped keystroke, eg: to go forwards two words, I have to press:
ESC+f; ESC+f
How do I change the system so that I just have to press and hold ESC once?:
ESC+f+f
Unfortunately, there doesn't seem to be a way to get ESC-f to repeat and it has something to do with ESC. Here's one solution that will work:
Currently, Terminal.app is using ESC as META. You can change this to ⌥ (option) like this.
- Visit Terminal -> Preferences ( ⌘-, ).
- Select the Keyboard Tab on the right
- Check the "Use option as meta key" box at the bottom of the Keyboard pane
Now enjoy repeating commands that involve meta by using the option key instead of ESC.
Select “Use option as meta key” in Terminal > Preferences > Settings > [profile] > Keyboard. Then you can press the Option modifier key and type f
twice.
The “Meta” key sends an ESC
before the character you type in combination with the modifier.
Also note that you can use the Keyboard preference to map other keys to commonly used sequences like ESC f
.
In fact, as of OS X Lion 10.7, Terminal's default keyboard map makes the standard Mac keys for moving left/right a word at a time (Option-Left Arrow/Right Arrow) send ESC b
and ESC f
, respectively.