Is it possible to move between words in iTerm using Alt + Right/Left Arrows ? Now if I press Alt+Left I will get '[D' and '[C' if I press Alt+Right.
-
2Just adding a note for those that simply want to know if its possible to do this with some hotkeys, there is a way. If you want to map it, that's fine but in terminal, CTRL+A will go to the beginning of a line and and CTRL+E to the end. Option+Left to go the beginning of a word and then Option+right to end of a word.– augJul 23, 2019 at 20:10
9 Answers
- Go to iTerm Preferences → Profiles
- select your profile
- then the
Keys
tab with its sub-tabKey Mappings
- Click
Load Preset
... - and choose
Natural Text Editing
-
9In December 2018 on Mojave, the opt key is what moves between words after choosing natural text editing. Dec 16, 2018 at 21:15
-
11I've been suffering for months without this but today you're my saviour. Mar 15, 2019 at 3:00
-
37Note that this is Preferences > Profiles > Keys > Load Presets not Preferences > Keys > Load Preferences– kevinApr 26, 2019 at 2:42
-
15
-
4As for today, it is actually Profiles > Keys > Keys Mappings > Presets > Natural Text Editing. Dec 28, 2021 at 15:38
Go to iTerm Preferences → Profiles, select your profile, then the Keys tab. Find ⌥← and ⌥→ and set them to send escape sequence b
and send escape sequence f
respectively.
If you use ⌘→ and ←⌘ you will need to remap the next and previous tab shortcuts which are set to those as default. Terminal uses ⇧⌘→ and ⇧⌘← for these.
You can do this under Profiles, or just globally under Keys (shown below) if you wish to set it globally. Note that settings in Profiles override global settings in Keys.
If you use bash, you can also add
"\e\e[D": backward-word
"\e\e[C": forward-word
to ~/.inputrc
.
-
1This worked best for me. Trying to set it up in iTerm2 only generated
[D
or[C
each time I tried to use the new button action. Thank you.– dmgigJul 13, 2016 at 17:35 -
As far as I can tell there's nothing you can do in iTerm2 v3.0.10. It has to be this bash setup.– fiorixOct 3, 2016 at 16:32
-
1Not sure about
iTerm2 v3.0.10
, butiTerm2 v3.0.14
definitely works with theNatural Text Editing
solution so you don't need to resort to bash input configuration. Feb 16, 2017 at 18:45
For zsh I inserted in ~/.zshrc
bindkey "\e\e[D" backward-word
bindkey "\e\e[C" forward-word
for bash I inserted in ~/.inputrc
"\e\e[D": backward-word
"\e\e[C": forward-word
Go to: Preferences > Profiles > Keys
Look for the actions of ⌥← and ⌥→. They would have been mapped to: Send Hex codes
Change them to Send Escape sequence with Esc+B for backward and Esc+F for forward.
If you're coming here recently because the preset is no long available under Preferences > Keys > Presets...
, the presets had change place. Now, if you want to find one of the default presets (Natural Text Editing included), you may want to go over: Preferences > Profiles > [choose your starred profile] > Keys > Key Mappings > Presets...
On a default setting, that is the area you want to get into:
I was looking like crazy on how to download it, I even found buried inside the .app Resources folder a .plist with this mappings in, so I knew I would find this.
Hope that helps anyone in the future looking forward into this.
CMD+Delete -- Send Hex Code -- 0x15
To delete the whole line (similar to Option+U)
Very edge case scenario, but for me it was an issue in my own dotfiles.
These two lines caused it:
In bash_options
set-o vi
In inputrc
set editing-mode vi
After commenting those two lines out, iTerm2 Natural Text Editing works as expected.