I unpacked the macbook pro that I’ll be using for work, and quickly found myself slightly flummoxed by a combination of the keyboard and the os.  This blog post accumulates a running list of notes made as I learned my way around the new machine.

The list below was accumulated over time.  Here’s a recent popular science article that includes many of the shortcuts below, plus some other good ones.

Cut and Paste

The usual windows shortcuts work on a mac if you replace control with command:

copy: command-c
cut: command-x
paste: command-v

On a PC keyboard mapped mac-style (i.e. command=Alt, option=Windows, control=Ctrl):

Screen Shot 2016-05-12 at 10.08.21 AM
these would be Alt-c, Alt-x, and Alt-v respectively.

Navigation

right click: control-click, or two fingers simultaneously on the touchpad

page up/down: fn+arrow up/down

home: function left-arrow
end: function right-arrow

control-arrow (word skip in text editors): use option-arrow (Windows-arrow with a PC keyboard).

Some applications seem to use Alt-arrow (i.e. mac command-arrow)

command-tab switching to minimized window:

command-tab to select window.  hold option key, release command key.

trackpad tricks:

three finger swipe left/right.  This is like Windows control-tab switching but only between maximized applications.

“tab” switching between windows of the same application (i.e. Mathematica):

command-tilde (~)

Misc

delete in finder: command-delete

enter/exit fullscreen mode: command-control f

delete next character: Fn+delete

Terminal

undo accidental split of terminal (command d): command-shift d (command D)

function keys in terminal window: Fn+function-key

cycle between all terminal windows, even minimized ones: command left/right arrow

cycle between active windows: command `

equivalent to cmd explorer . : terminal: open .

equivalent to powershell open here:

System Preferences > Keyboard > Shortcuts > Services

Enable New Terminal at Folder.

There’s also a MacVim open service that you can use in Finder that I’d never noticed until trying this.

smooth scroll up/down

alt/option + command <arrow up/down>.  Not sure what keys to do this with on the mac keyboard itself, but with my windows keyboard this ends up being the page up/down keys.  Also doesn’t work properly in a screen session.

Moving Windows between displays

I found no builtin method to do Windows-Arrow like monitor switching, but the Sizeup freeware app seems to work nicely.

Cntl-Windows Arrows (i.e. mac Control-Options Arrows) does the window move for me with how I have my PC keyboard mapped.

There are also some split screen shortcuts:

^ \- % [arrow]

That work really nicely on a big thunderbolt monitor.

Virtual Desktops

On the mac keyboard, the virtual desktop manager control is available by pressing the F3 key (which shows three windows).

On a PC keyboard, use Ctrl-UpArrow

I’m using this to move any non-work windows to a separate space before starting work for the day.  This way I can’t be distracted by having a cool mathematics or physics puzzle left open and taunting.

This is also a way to move windows between multiple monitor displays.

PC keyboard

One nice thing about a PC keyboard is the function key mappings in Terminal might just work (without having to press Fn-Function-key).  That was true of my logitech keyboard, but not a Windows wireless keyboard (I still haven’t figured out how to get that wireless keyboard to work well with the mac).

Can use Karabiner to map the Menu key to Fn. After installing select:

Screen Shot 2016-04-29 at 12.35.37 PM

Screenshot

snip: command shift 4

full: command shift 3

Browser

page down: spacebar

page up: shift spacebar

two figures up/down: scrolling

tab switching: option-cmd <- ->

new tab: cmd t

close tab: cmd w

Finder dialogue

Go to the parent directory: Command+up-arrow

Another way is to add a Path button to the finder using View -> Customize, as described in method 5 of the linked article.

Save as, to a different directory: Use the little sneaky triangle symbol in the file dialogue.

Safari

Copy a link: Link on the url tab, then Cmd+L ; Cmd+C