You can move one word at a time with option+left and option+right.
Regarding using home and end, Terminal's default bindings are the following:
- shift+home → jump to beginning of line
- shift+end → jump to end of line
- home → scroll to top of scroll-back buffer
- end → scroll to bottom of scroll-back buffer
In many other terminal apps (on multiple platforms), those modified and unmodified pairs are reversed (i.e. naked home and end are used to jump around the current line and the modified versions (whether by shift or something else) are used to navigate the scroll-back buffer). You can reverse Terminal's bindings to work that way if you wish by doing the following:
Go to Terminal menu → Preferences → Settings tab → Keyboard sub-tab.
Then modify the key–action pairs to be the following:
- ↖︎: Send text: \033[H
- ⇧↖︎: Scroll To Top
- ↘︎: Send text: \033[F
- ⇧↘︎: Scroll To Bottom
Note: \033 is entered into the text-to-be-sent box in the Edit dialog by pressing the escape key.
While there, you may want to similarly swap the bindings of modified and unmodified page up and page down, to keep things consistent: pressing a navigation key with shift represents a command to Terminal itself (to navigate the scroll-back buffer like a document), while pressing one without sends the key-press through to whatever's running within it (e.g.
screen, etc.). The key–action pairs for that are:
- ⇞: Send text: \033[5~
- ⇧⇞: Scroll Page Up
- ⇟: Send text: \033[6~
- ⇧⇟: Scroll Page Down