The "back to top" functionality is so useful in web pages. I wish they would make a dedicated button on keyboards that just takes you to the top of the page. Better yet, it can work in other apps too! It could, for example, take you to the beginning of a line when you're writing text.
Edit: Wow, I thought I was going the extra mile to make the joke obvious by saying the key should also take you to the beginning of a text line, but I guess it wasn't obvious enough for the first 3 commentators.
The actual keys are Fn+Left and Fn+End for Home and End (Fn+Up is PageUp, etc). These will also work in Terminal apps or other places that don’t have specific Cmd-Up / Down bindings.
True; but Cmd+Up and Cmd+Down are slightly more universal across the “Apple ecosystem”, given that iOS-specific keyboards don’t have Fn keys, but do support those shortcuts. :)
Interesting aside: the “Globe” key on an iPad keyboard-folio (the one that opens the IME chooser) has some but not all of the properties of an Fn key. Globe+Left and Globe+Right work as PgUp/PgDn, but Globe+Up and Globe+Down do not work as Home/End. (Or maybe they do, but Home/End just aren’t bound in any app I’ve tested? I don’t want to write+deploy an iOS keysym tester just to find this out...)
Lack of a working home/end function is literally the biggest reason I dislike working on a Mac. I don't understand what would be so hard about just having them work like they do on a PC.
You can also plug in arbitrary USB keyboards, or pair arbitrary Bluetooth keyboards, to a Mac, and the Home/End keys on those will also do what you'd expect.
Apple just doesn't bother to put Home/End/PgUp/PgDn keys on their laptops — presumably because they find that people don't need them very often; and that, when the keyboard's size is already constrained, people get more value out of fewer, larger keys (while requiring key-chords for some things) vs. more, smaller keys.
No, they don't. I expect pressing Home to go to the beginning of the line I am on, and I have to hit Command-Left for that, and Home does nothing of value.
cmd-left/cmd-right go to beginning/end of the line.
It seems Word for Mac supports cmd-left/right but not cmd-up/down. Word also supports fn-left (home) and fn-right (end), and fn-opt-left does like ctrl+home on Windows.
This amazes me. Thanks for your honesty, there are probably millions of people who are in the same position. While you're looking down, wouldn't hurt to look at all the different keys and give them a try.
I had a family member call me in a legitimate panic because her "Gmail got hacked, all of a sudden the whole screen changed and there a bunch of weird code all over the screen!"
Turns out the f12 key was the culprit; took me longer than it should have to realize she was describing the Firefox developer console.
More generally Enter acts as a left-click on whatever element has focus in the browser. If you press tab, you cycle the focus to the next link/input/button/whatever. Shift+tab cycles through them in reverse order. If a normal hyperlink has focus, you can do things like CMD+Enter (MacOS) or CTRL+Enter (Windows) to open it in a new tab, etc
Since your brain is already in keyboard learning mode, give Shift + Home and Ctrl + Shift + Home a try. It works wonders when selecting text for cutting and pasting. The same combos work with End as well as the arrow keys.
Just to pile on with fun new keyboard tricks! Caveat: "linux" here is largely specific to the Desktop environments I've worked with. 'Good terminals' refers to termianls that support emacs keybindings by default, which is the mac os terminal, and most linux bash/zsh terminals at least. I know Cygwin and Conemu respect this under normal usage too.
## Start and end of line:
- Mac: CMD + left, CMD + right
- Linux/PC: Home and End Buttons
- Linux/Mac/Good Terminals: ctrl+a ctrl+e
## "Word-wise" movement:
- Mac: option+left, option+right
- Linux/PC: alt+left, alt+right
- Good Terminals: alt+b, alt+f (mnemonic: 'back' and 'forward')
The 'shift' key can be added to any of the above to select whole words or lines, or parts of lines at a time. Combined with multiple insertion points you've got superpowers.
- Insert toggles between shifting characters after the cursor to the right and deleting the character to the right of the cursor, replacing it with the new character you typed, but not replacing a newline character. While eg. Caps Lock is global, Insert mode is local to the text input that currently has focus - tab or mouse over to a new window and you've lost Insert mode, tab back to the one where you previously set it and you're back to Insert mode.
- Delete is like Backspace, but deletes stuff to the right of the cursor.
- Home, as you discovered, moves browsers to the top of the page. When composing text, it moves the cursor to the start of the line (and vice versa with "End"), CTRL+Home moves to the start of the text entry box.
- Page Up and Page Down shift the cursor by screenfulls of text, typically leaving a couple lines at the top and bottom for context. Note to web developers who are unfamiliar with keyboards: Make sure your fixed/sticky header/footer banners don't hide content when using "Page Up" and "Page Down". Also of note, CTRL+Page Up/Down and CTRL+Tab/CTRL+Shift+Tab shift the window or tab focus within an application, for example to go to the next tab in Chrome or the next file in your IDE.
- Print Screen creates a screenshot. Depending on your setup, this may either go to your Pictures folder, or may go to the clipboard (open an image editor eg. Win+R, mspaint, and CTRL+V to paste). It shares a key with SysRq, which can be accessed with Alt+SysRq+(magic letter), and used to recover from various crash conditions - be careful, if you start hitting letters at random, you'll invoke the bad kind of magic that will shut down your computer.
- Scroll lock was used to stop auto-scrolling an input buffer that was running too fast. Largely neutered in modern OSes, it's still useful in the BIOS when all the hardware initialization messages are scrolling by too fast to read. Sometimes it's also used to toggle keyboard backlighting because it had an LED attached and doesn't have a real function anymore, but depending on the manner in which your OS/hardware neuters this key your keyboard backlighting may not work.
- Pause/Break kills a process like CTRL+C, but sometimes has different specific modes of operation in various debuggers. Access the "break" alternate function with CTRL+Pause.
- Super/Windows key opens the Start menu or search tool. On Macs, it's the Command key and used for lots of keyboard shortcuts. Hyper useful for window management, Super+arrow keys move screens to the left or right half of the monitor, maximize, resize, or minimize them, and Shift+Super+arrow moves them between multiple monitors.
- Num lock toggles between entering numbers with the 10-key section of the keyboard and that section's alternate navigation functions, where 7 is home, 1 is end, 9 is page up, 3 is page down, and 4/8/6/2 are left/up/right/down respectively. Not really important if you've got an inverted-T arrow cluster and Super useful on some dumb 17" laptops that cram in a 10-key section but relegate all these normal navigation keys to arcane random Function invocations on tiny distant buttons crammed into the top of the keyboard if they're present at all. Uniquely, Num Lock is typically remembered across reboots.
I had a support call yesterday where the computer was highlighting things and deleting them while the user was going back to change things in a document. I was initially suspecting either a faulty shift key or a double-click setting causing things to be highlighted. When I looked at the user's screen I recognized the block cursor and told him to press Insert.
I haven't seen that or heard of it happening for probably 10-odd years now. Didn't realize it still worked in Windows 10!
> Note to web developers who are unfamiliar with keyboards: Make sure your fixed/sticky header/footer banners don't hide content when using "Page Up" and "Page Down".
Firefox has specific code to detect banners and reduce the Page Down distance. This code fails on new Twitter.
Since we're sharing tips, here's another one: Holding the middle mouse button and dragging the mouse up towards the top of the screen accomplishes basically the same thing as pressing "Home" without requiring you to take your hand off the mouse.
On my old Dell xps 14 laptop, the function button was close to the arrow keys, making it very convenient to use one-handed. I actually preferred it to a separate home button, because, in a text box, I often want to jump to the start/end of a line and then move a word or two inward -- do-able using control+arrows. It was almost as good as vim, although of course I had to take my hand off the home row.
Home and end are most useful for me when I'm writing or programming, so both of my hands are on the keyboard anyway. I think I actually find these key combos more useful than a dedicated home or end button, as I'd have to move my hands a lot further for those.
It does for me. I've always used ⌘+up and ⌘+down to go to the top and bottom of the page. After eight years of using Macs, I didn't even know you could use the function key as suggested above.
Yeah, unless the doc is dozens+ pages long. Say, a book on a single page. Then it’s real nice to have a key sequence to get around. Going to the start or end of a long document is an infrequent enough operation I think a two hand sequence is fine.
Hm, that would indeed be an alternative. I never tried hooking up a (windows-) keyboard to a mac, but don't see why it shouldn't work. Question is if the software or editors support the key layout.
And, of course, you can always mess with key bindings for a user by creating a file at ~/Library/KeyBindings/DefaultKeyBinding.dict with custom overrides for whatever.
I have Home & End on my keyboard, but they are not very conveniently located. Mapping <Super>-A and <Super>-E to Home and End is much more ergonomic (or you can use other modifier like <Ctrl> or <Alt>). Not sure though which keys should be mapped to PageUp/PageDown. Those are not terribly useful keys anyway if you use touchpad or Space.
Also, use Up Arrow to go to the beginning of the line and Down Arrow to go to the end of the line on single line text boxes (I use it often on browser address bars).
My home Apple keyboard has the Home button between Help and Page Up. Though, I will admit that keyboard is 2003ish. But I keep using it because it still has good action.
Is that one of the A1048 [1] "crumb tray" keyboards with the clear rim around the edge? I recently switched to one of those from an original iMac keyboard (finally got fed up with not having a forward delete key) and the key edges and the action both feel crisper. Could just be that I've been using the other one for a decade or so though.
i have worked with way to many people that don't know what the navigation keys do, don't understand most of the control keys, and the only function key they know is F5.
Way too many people who have never used an actual console terminal
Only function keys I know off-hand are F2 and F12. Mostly because I prefer modal setups and only ever need those two during boot. Although without checking I have a suspicion that F5 refreshes a browser window. Am I right??
The problem with plugins is that they give full control over your browsing to whoever controls the plugin.
I sometimes install plugins myself if the code is open source and it is small enough for me to vet it.
I would love vimium, but the code is way too big to vet it myself.
I wish there was some party that is trustworthy, vets codebases like these and publish hashes of trusted versions.
An alternative would be more modular codebases. So instead of publishing a giant box of code with all kinds of vim-like behavior, publish lots of small ones. Like the code to make gg work.
If you want to fight for security on that level, your computer life must be miserable. You are also missing out a lot of great tools and are way less effective then folks that use them (and thus less competitive).
I am all up for great security in OS, emails, browsers, messangers etc, but it has to stop somewhere. Also, this kind of stuff like vimium is so widely used that somebody would probably notice if something funky is going on (everything leaves some traces, you dont really need to look at the code to notice it most of the time).
Your proposed way to solve this issue is way worse - now, instead of having one monolitic but still simple and well rounded app you have thousands of little scripts that combined are also hessle to review, belong to way more humans with different agendas (instead of single or couple) and would be horror to initialize (really sounds like nodejs ecosystem).
Just get the damn thing and relax a bit. Anything malicious that could be done by some developer is already done by big evil corps anyway (and more) and you cant really escape those.
I believe it is. You can say the same thing about anything else - do you inspect any TV or telephone you buy for hidden recording devices? Do you inspect any hotel/airbnb room ? Do you do that with supplements, cooking aparatures, plant checmials, mattress material, car breaks etc.. No you don't. You believe its good. Multiple times it did happen they were not good and stuff were spying, poisoning, leaking, killing etc. Yet nobody decides to not buy stuff in order to be 100% protected like there is such thing, because it is miserable life.
Came here to say this. Vimium is excellent! I've been using it for the last number of years and when I switch to a new computer without it, I still fire off the `gg` and wonder why the browser isn't picking it up. It's essential to me at this point.
On tangent, it's strange that our keyboards mostly stayed the same while the screens got around x20 better.
I often need to make bigger and smaller jumps with keyboard. In Sublime I use a plug-in that can jump 10 lines up and down but I also need that functionality across the rest of OS. For navigating menus, scrolling through content, moving around spreadsheet. Page up/down is too large jump with the amount of content that can fit modern screens.
That's exactly it. Before that I tried AceJump, but it demanded attention while this method becomes like a second nature.
I probably need a scriptable keyboard to make it work across all programs. Some keyboards support Lua, but I think it's only for LED patterns which is pretty retarded.
Over the years I've tried to teach people about the Home key but to no avail. Similarly I've tried to teach people about using middle-click to open a link in a new tab, or some basic readline functionality like Ctrl-a, Ctrl-e for beginning end of line. But I've not seen a single other person use these features. Strange.
Thinking about it some more, I was being driven in a friend's BMW one day and there was some bad smell coming from outside so I asked if I should press the air recirculation button. It turns out he'd had that car for more than five years and had never pressed that button. In fact, he'd never pressed, nor seemingly even wondered about, most of the buttons in the car. Strange.
Okay, but every time I try to hit the Home key with my mouse, I end up hitting the Insert and PageUp keys too, since they're so close together, so it doesn't solve the same problem that a back-to-top button does.
At least on iPhone, tapping the status bar on the top of the screen usually scrolls to the top for all (well developed) applications that have a vertical scrolling view, but just web pages.
Seriously though, the Opera web browser has this functionality built in, but it's a "toggle" back to top, by just clicking on the tab title.
It's very useful on web sites like HN, when you don't want to lose where you are in the thread, yet need to go back to the top to have a second look at the topic for instance.
I definitely got your joke and had a snicker. I wonder if part of the reason the obviousness is missing some people is that many of us use Macs, and the "beginning of a line" behavior is not the default behavior in most native Mac apps.
I fell for it because although I’ve used a computer constantly for over 20 years I don’t think I’ve ever touched that home button. At least not deliberately.
I never use escape or any function keys either.
I still can’t figure out how to get in and out of insert mode in sublime text. When it happens I just quit and restart.
I’m starting to wonder why I tolerate this level of ignorance in myself.
I mean, I use key commands constantly. That’s what is odd about all this.
I'll be honest, even though I use the home and end keys on a daily basis while programming, I don't think it's ever occurred to me that I could use them to move around a webpage. I feel both dumb and enlightened!
The Home key is fine if you're on a PC. On a Mac the only time you'll see one is on some extended external keyboards. It's rare, if nonexistent on Mac laptops.
So you need to press Cmd+Up. Yes, it's two keys instead of one but I would argue it's actually quicker since they are both usually located on the bottom row, meaning there is less distance for your hand to travel.
Cmd + Up is similar in behavior to the macOS Home key behavior, but slightly different. On laptops (or any desktop keyboard with a Fn key), Home is Fn + Up. The differences are:
- Home (and Fn + Up) don't move your caret if you're in an editing context, except...
- Some apps have different behavior for Home than go-to-top. Typically these exceptions use the Windows behavior of go-to-start-of-line (obviously this does move your cursor).
I’m normally a macOS guy but I’m currently using windows full time to give WSL a proper chance. The thing I miss most is CMD+Arrow to go to the start/end of something. I think it’s a beautiful system, alt+arrow to jump a word, cmd+arrow to jump to the start/end. The home/end keys are always so hard to find especially when they could be anywhere depending on your keyboard
I just switched to OS X recently and I am definitely having the reverse trouble getting used to the Cmd/Alt+Arrow I almost never have problem finding Home/End on any keyboards (been using Windows/Linux for 15+ years). Nowadays for laptop it's almost always fn+Arrow for Home/End.
How many percentage are there? I am not from English speaking countries, and I have never met anyone using non-standard layout before. So, like, do I need to care if I am not targeting software developer?
Edit: Wow, I thought I was going the extra mile to make the joke obvious by saying the key should also take you to the beginning of a text line, but I guess it wasn't obvious enough for the first 3 commentators.