^ ControlA and ^ ControlE are keybinding in Bash and ZSH, not in iTerm (or Terminal).
If you want custom bindings within iTerm, you will need to bind the actual keyboard sequence in the keybinding. "Start of Line" and "End of Line" are descriptors, not the actual key strokes.
So, to do this you'd need to send ^ ControlA for Home via their Hex Codes. In this case, the codes would be 0x01 for "start of text" (^A) and 0x05 for "ENQ" (^E).
In the image below, you can add a new binding in Preferences → Keys → Key Bindings
Click on + to add a new binding
Click on Record in the dialog box
Press your desired key (Home in this case).
Select your Action (you can scroll or search). Select "Send Hex Code"
Use control+a for HOME and control+e for END in Terminal.
Also use esc+f to move to the beginning of the next word and esc+b to move to the beginning of the current word. (you Must be careful about current and next)
Best Answer
^ ControlA and ^ ControlE are keybinding in Bash and ZSH, not in iTerm (or Terminal).
If you want custom bindings within iTerm, you will need to bind the actual keyboard sequence in the keybinding. "Start of Line" and "End of Line" are descriptors, not the actual key strokes.
So, to do this you'd need to send ^ ControlA for Home via their Hex Codes. In this case, the codes would be
0x01
for "start of text" (^A) and0x05
for "ENQ" (^E).In the image below, you can add a new binding in Preferences → Keys → Key Bindings
+
to add a new binding