The default shortcuts for moving to beginning or end of (wrapped) lines are ⌘← and ⌘→. ⌥↑ and ⌥↓ or ⌃A and ⌃E move to the beginning or end of unwrapped lines (or paragraphs). ⌥← and ⌥→ move backwards/forward by words, and all of these are compatible with holding Shift to select during the corresponding moves.
You could remap home and end by creating ~/Library/KeyBindings/
and saving a property list like this as DefaultKeyBinding.dict
:
{
"\UF729" = moveToBeginningOfLine:; // home
"\UF72B" = moveToEndOfLine:; // end
"$\UF729" = moveToBeginningOfLineAndModifySelection:; // shift-home
"$\UF72B" = moveToEndOfLineAndModifySelection:; // shift-end
}
Most of the keybindings for editing text in OS X are defined in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict
.
Applying changes requires reopening applications. DefaultKeyBinding.dict is ignored by some old versions of Xcode (works with latest version 6.3.1), Terminal, and many cross-platform applications.
See Cocoa Text System and my website for more information about the customizable keybindings.
Terminal's keybindings can be customized in Preferences > Settings > Keyboard. \033OH
moves to the beginning of a line and \033OF
to the end of a line.
In Eclipse, key bindings should be modified in Preferences > General > Keys. You need to modify default bindings for commands Line Start and Line End (replace ⌘← by ↖ and ⌘→ by ↘). For selection to work, also modify Select Line Start and Select Line End.
PS: You may need to logout and login again for the ~/Library/KeyBindings/DefaultKeyBinding.dict
change to take effect.
I used the following a lot.
⌘CMD+ꜛ: Home
⌘CMD+↓: End
⌘CMD+←: Beginning of Line
⌘CMD+→: End of Line
These I learned the other day from here - very handy for coding and writing, these are emacs bindings which work on Macs.
CTRL+A: beginning of line.
CTRL+E: end of line.
CTRL+U: delete from cursor to beginning of line.
CTRL+K: delete from cursor to end of line.
CTRL+W: erase word to the left.
CTRL+T: transpose characters around cursor.
Best Answer
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)