48 comments
Comment from: Jorge Lobo [Visitor]
Jorge Lobo

I have a new macbook (jan2009) and could not find the place to insert escape sequences in the preferences/keyboard options…

I use space to page down, the mac two key page up and down scrolls the window, not the terminal text

03/16/09 @ 22:57
Comment from: Brian [Visitor]
Brian

This worked for me, but was already set up on my 10.5 installation. It was already set up for Shift-page up/page down.

04/18/09 @ 17:55
Comment from: theman [Visitor]
theman

Try this in the Terminal -> Preferences -> Keyboard widget:

CTRL-A – this is to go to the beginning of a line in Bash (set this to the ‘Home’ key)
CTRL-E – this is to go to the end of the line in Bash (set this to the ‘End’ key)

The first combo will produce: \005
The second combo will produce: \001

Don’t worry, it works in 10.5.x. This also works in the C Shell (’csh’), so if you are used to using it this will work there as well.

05/12/09 @ 04:26
Comment from: Mirek Rusin [Visitor]
Mirek Rusin

Works perfectly, thanks a lot!

05/19/09 @ 12:21
Comment from: Pedro [Visitor]
Pedro

Great! Works perfect for me!

07/23/09 @ 17:25
Comment from: Paddy [Visitor]
Paddy

Wow ….this worked for me too on Mac OSX 10.5.9

07/23/09 @ 18:35
Comment from: Richard P. Spillane [Visitor]
Richard P. Spillane

Alternatively, if this has problems, or is bash specific (doesn’t work in tcsh) you can try this alternative solution:

Terminal->Preferences->[Settings]->[Keyboard]:

Find end, home, pg up, and pg down (the list is alphabetically sorted).

First double click ‘end’ and a prompt comes up that lets you remap the key, for ‘Action’ select ’send string to shell:’ and then click on the entry field.

Press ‘Esc’ which emits ‘\033′ then type ‘[4~’ after it, so the text field should now show: “\033[4~". Click ‘OK’.

Now you should be able to remap the other keys if you know the key codes, by pressing ‘Esc’ to emit \033. The codes for each of the keys are:

end \033[4~
home \033[1~
page down \033[6~
page up \033[5~

You will want to add ‘Shift-pgdwn/pgup’ to ask the buffer to scroll up and down. Do this by clicking ‘+’ and adding ‘pg down’ with the ‘Shift’ modifier and then select ’scroll to next page in buffer’, and do the opposite for pg up.

I believe this is the optimal fix.

07/24/09 @ 07:46
Comment from: Jaap Blom [Visitor]
Jaap Blom

Thanks a bunch these are indeed the optimal settings!

08/27/09 @ 15:29
Comment from: mihai [Visitor]
mihai

I’ve found that the home and end keys don’t work with bash, but they work with mc (through ssh). To fix them for bash, I used this inputrc fix: http://linuxart.com/log/archives/2005/10/13/super-useful-inputrc/

Cheers!

09/24/09 @ 00:24
Comment from: Alex [Visitor]
Alex

I tried doing this but it didn’t work (OSX 10.5.8). Instead of going to the end of the line, I get a “BEEP” and a tilde (~) appears in the term window.

Would love to get this working if anyone knows off the top of their head what I’m doing wrong.

11/06/09 @ 17:54
Comment from: Warren Houghteling [Visitor]
Warren Houghteling

You’re my hero! Not having these keys work as I’m used to in a terminal window was driving me crazy.

12/08/09 @ 19:47
Comment from: Davis Chord [Visitor]
Davis Chord

Thanks for the heads-up on this!

01/22/10 @ 20:19
Comment from: norman [Visitor]
norman

Try
Key Escape Sequence
Home \033OH
End \033OF

The O’s are captital as in OOPs, they are not zero’s. This is straight from termcap for xterm and works for both the bash shell and vi/vim

01/27/10 @ 14:48
Comment from: Adub [Visitor]
Adub

Great! Thanks for this. I had to copy and paste the text but it worked flawlessly after that.

Thanks again!

02/02/10 @ 18:40
Comment from: C [Visitor]
C

Thanks!!! The optimal setting above was my solution since i come from *nix and work alot with vi. This WAS driving me crazy. No more, yes!

02/17/10 @ 21:17
Comment from: the donco [Visitor]
the donco

norman’s comment with the OH/OF sequences finally worked for me on:
Mac OSX 10.6.2
17″ Macbook Pro (built-in keyboard)

Also works via Synergy client (on Mac), connected to [Ubuntu] Linux (running server) w/Microsoft Natural Keyboard Pro

Everything works about right….except in terminal, where the command[/alt] and ctrl keys are flipped – I flipped them in the mac preferences so that ctrl+x/c/v would work without a bizarre reach, and now I have to “alt+c” running commands to kill them. Because I do most my terminal work on Linux, this is [barely] acceptable, but any insight on how to have the best of both worlds would be appreciated – i.e.: ctrl+c/copy in email and ctrl+c/cancel in terminal.

Regards,
-the donco

LiveCloud.com - Blog. Get Social. Take Control.
LiveCloud is a Social Strata Venture

02/24/10 @ 20:36
Comment from: Martin Kovachev [Visitor]
Martin Kovachev

Thank you SOOOOOOOOOOOOOOOOOOOOO much!!!!! :))

I was getting crazy scrolling char by char until i get to the end of the console line…

03/21/10 @ 18:27
Comment from: carnator [Visitor]
carnator

Thank you Francois! however in OSX (10.6.2) the end/home keys did not work the same way for the terminal and vi.

@norman [Visitor] your bindings worked perfectly!

03/26/10 @ 00:27
Comment from: James [Visitor]
James

Fn+Shift+Up = Page Up

Fn+Shift+Down = Page Down

06/02/10 @ 19:27
Comment from: Neil [Visitor]
Neil

Norman (visitor)’s mappings also worked for me on a macbook pro with OS 10.6.3.

What I really want is for command-left / command-right to do that, like they do in every other mac app.

06/16/10 @ 13:25
Comment from: Doug [Visitor]
Doug

You are the man!!! Thanks worked like a charm! Mac OS X 10.6.4

09/21/10 @ 16:22
Comment from: Keith [Visitor]
Keith

Thanks!

Now… how the hell can I get these keys to work in textedit. AND Home and End keys do not work in my browser address bars. Is there a modifier? This is driving me nuts. Works fine on windows if I want to jump to the end or beginning of a url in the browser address bar.

12/17/10 @ 21:06
Comment from: Marius [Visitor]
Marius

If you find that this does not work on your command-line, keep in mind that your shell may just not know what to do with those command, but all those key sequences work pretty well in VIM editor.

For you to tell your shell how to interpret them, you either need to create a matching custom termcap entry, or use an existing one with a lot of matching capability.

For instance, Home and End does not work for me on my terminal when using vt220, xterm, or color-xterm… but when I do a “export TERM=linux” it works.

PgUP and DOWN still don’t have a function for me on my command-line, but that’s ok, since I don’t know what it is supposed to do anyway.


01/26/11 @ 20:57
Comment from: Colin [Visitor]
Colin

Actually it should be

Fn + Up Arrow = Page Up
Fn + Down Arrow = Page Down

02/04/11 @ 00:49
Comment from: Paul [Visitor]
Paul

Thanks mate! worked perfectly!

03/05/11 @ 06:07
Comment from: Tim [Visitor]
Tim

Thanks alot mate. I’ve been looking for this desperately. As a first-time Mac user, I didn’t know the Fn + direction keys were the Home, PageUp, End, PageDown keys.

03/13/11 @ 10:46
Comment from: Michael [Visitor]
Michael

Good stuff mate, worked a treat. Vim over SSH is now useable. \:D/

03/29/11 @ 22:07
Comment from: Shez [Visitor]
Shez

holding function and shift and pressing down also works.

04/11/11 @ 10:00
Comment from: Mike Schroder [Visitor]
Mike Schroder

Thanks!~

This is still being found, and was very helpful.

04/19/11 @ 03:48
Comment from: Kate [Visitor]
Kate

Thank you! The Control A & E short-cut did the trick!

04/21/11 @ 23:56
Comment from: Seth [Visitor]
Seth

thanks, that worked. I live in the terminal and the home/end keys were killing me.

11/03/11 @ 00:28
Comment from: steve [Visitor]
steve

Thanks……worked very well on Lion for me… it was driving me nuts, Ubuntu seems to include a lot of VIM functionality….

11/28/11 @ 04:55
Comment from: kyle renfrow [Visitor]
kyle renfrow

In order to get all four keys working I had to use a combination of the answer and comments:

for home and end: select ’send to shell’ and press ctrl + a, and ctrl + e respectively.

for page up/down: select ’send to shell’ and press the escape button followed by [5~ and [6~ respectively.

home \001
end \005
page up \033[5~
page down \033[6~

12/01/11 @ 05:45
Comment from: Rohaiza [Visitor]
Rohaiza

I try all the above suggestion, but does not worked to my macbook pro (parallel)..any hints? TQVM

01/08/12 @ 18:56
Comment from: Kyriacos [Visitor]
Kyriacos

Thanks for posting! Home and End keys do not work, but at least PageUp and PageDown are working great. (Mac OS X 10.7.2)

01/10/12 @ 16:31
Comment from: Tim [Visitor]
Tim

As of OSX 10.6.8, the correct fix is:

Terminal->Preferences->Settings->Keyboard->+

Key: home or end
Modifier: none
Action: send string to shell

Then for the sequence PRESS ESCAPE (or CTRL-[ ) to get a “\033″ and then type “[H” or “[F” for home and end so the full thing is “\033[H” or “\033[F".

It’s worth noting that these are already bound to Shift-Home and Shift-End (which are obtained with Shift-Fn-Left and Shift-Fn-Right). So if you can change your habits slightly you don’t actually need to reconfigure anything.

Francois: it would be nice if you updated your post to reflect this, since it is the first result in Google and I doubt many people are going to read down the comments this far.

09/25/12 @ 15:24
Comment from: admin [Member]

I updated for Mountain Lion and I also listed all possible escape sequences that were recommended here. I highlighted the ones that seem to work everywhere.

09/26/12 @ 13:41
Comment from: nodmonkey [Visitor]
nodmonkey

You may also want to include a note for laptop users who don’t have Home/End keys and want to use CTRL-leftarrow and CTRL-rightarrow to achieve the same cursor movement.

The OS keyboard shortcuts have CTRL-leftarrow and CTRL-rightarrow mapped to “move left a space” and “move right a space” respectively under System Preferences > Keyboard > Keyboard Shortcuts > Mission Control. When you only have one space setup (the default), it is not easy to tell this is what the keys do.

These shortcuts overrule the Terminal keyboard settings, so you need to change or disable them if you want to use those key combinations to navigate in Terminal.

10/12/12 @ 11:56
Comment from: Raj [Visitor]
Raj

Thanks a lot..Worked for me :)

10/30/12 @ 19:16
Comment from: Michael [Visitor]
Michael

Another success. Thanks!

12/17/12 @ 06:42
Comment from: Tennessee Leeuwenburg [Visitor]
Tennessee Leeuwenburg

2011 model macbook air. Success. Thank you very much!

01/10/13 @ 05:05
Comment from: San [Visitor]
San

Thanks you for this. I love that you wrote this up with the alternatives and explanations and it was only a google search away!

Thanks.

02/06/13 @ 20:26
Comment from: Troy [Visitor]
Troy

Thanks heaps for this, worked a treat.

04/17/13 @ 16:36
Comment from: Tiago Tix Carvalho [Visitor]
Tiago Tix Carvalho

You sir, deserve a cake! Thank you!

05/23/13 @ 18:33
Comment from: Can Kavaklıoğlu [Visitor]
Can Kavaklıoğlu

Thanks a lot!!! Finally home/end!!!

08/02/13 @ 10:52
Comment from: KBK [Visitor]
KBK

Very nice, worked with emacs -nw

08/16/13 @ 02:35
Comment from: Pierre [Visitor]
Pierre

Really thanks!!
Worked on mavericks connecting to another server and using vi… finally !!! =)

12/30/13 @ 16:10
Comment from: ztwo79 [Visitor]
ztwo79

thanks . It’s really work fine for me

09/02/14 @ 17:01