Tell me more ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I saw in other questions that home and end keys on a macbook pro can be emulated with fn + left arrow or fn + right arrow. Or sometimes with the apple key instead of fn. But none of that works in Terminal. I frequently need to go to the beginning or end of the line. And would also be nice to jump forwards or backwards by word.

How can I jump around on a line in Terminal?

share|improve this question

4 Answers

up vote 8 down vote accepted

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)

share|improve this answer
perfect! what about jumping around by word? (ctrl-left and ctrl-right in windows) – at01 Apr 27 '11 at 21:35
@at01 I updated my answer. – Am1rr3zA Apr 27 '11 at 21:37
Another very handy one is Ctrl+l to clear the screen. – boehj Apr 27 '11 at 21:38
1  
Who designed the keys for Terminal?!?! – at01 Apr 27 '11 at 21:46

It sounds like you are looking for some help using readline and bash, here is an insane list of keyboard stuff modified from: http://www.math.utah.edu/docs/info/features_7.html#SEC45

Ctrla Move to the start of the line.
Ctrle Move to the end of the line.
Escf Move forward a word.
Escb Move backward a word.
Ctrll Clear the screen, reprinting the current line at the top.

Ctrlk Kill the text from the current cursor position to the end of the line.
Escd Kill from the cursor to the end of the current word, or if between words, to the end of the next word.
EscDel Kill from the cursor the start of the previous word, or if between words, to the start of the previous word.
Ctrlw Kill from the cursor to the previous whitespace. This is different than EscDelCtrla because the word boundaries differ.

Ctrld Delete the character underneath the cursor.
Ctrl_ Undo the last thing that you did. You can undo all the way back to an empty line.

And, here is how to yank the text back into the line. Yanking means to copy the most-recently-killed text from the kill buffer.

Ctrly Yank the most recently killed text back into the buffer at the cursor.
Escy Rotate the kill-ring, and yank the new top. You can only do this if the prior command is Ctrly or Escy.

share|improve this answer
wow, thanks! I already credited the answer, but this is great – at01 Apr 27 '11 at 21:49
No problemo, I had fun just making the list work with the site. – hobs Apr 27 '11 at 21:54
Wow - good effort! – boehj Apr 27 '11 at 23:09
Same to you on that sharing post :) – hobs Apr 27 '11 at 23:31
this is invaluable - thanks - I wish this was available as a printable file somewhere! – matt b Jun 13 '11 at 17:09
show 1 more comment

For those that prefer to use the arrow keys, hitting fnShift+Left Arrow will take you home on the command line. Similarly, fnShift+Right Arrow will take you to the end.

share|improve this answer

The other answers are great and more portable, but here's "the OS X way" for a regular keyboard (which is opposite of many other terminals). Try the following:

ShiftHome - Beginning of Line
ShiftEnd - End of Line

From http://www.greenend.org.uk/rjk/tech/macbits.html

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.