OS X Tips and Tricks
4th October 2010Following some discussions with friends who've recently started using OS X, I thought I'd note down some tips and tricks that I've learnt since I moved to Mac. This is in no particular order as it's taken from IRC logs of conversations I've had :)
Basics
- There's one menu bar for all application
- Closing the last window doesn't exit the application. Use cmd+q or the Quit menu item on the "application name" menu.
- System Preferences is available via the Apple () menu.
- Finder is the name of the file manager.
- Preview is the name of the PDF and image viewer. It's more powerful than it looks.
- Turn on View->Show Path Bar in Finder.
- Browsing Mac 101 if you're new to Mac can be helpful.
Backup
Get a cheap USB external hard drive and use Time Machine. There are no excuses.
PHP
Apple supply PHP 5.3.x with OS X 10.6 so you may as well use it. I wrote it up here: http://akrabat.com/phposx. Another alternative is ZendServer CE which is also regularly updated.
HFS+
HFS+ is OS X's filesystem and is case preserving, and is not case sensitive. Be aware of this at all times, or create an "HFS+ (case-sensitive)" partition using Disk Utility.
Keyboard shortcuts
- The cmd (command) key has the symbol ⌘ is used where Windows/Linux use the control key.
- Option is another word for the alt key and has the ⌥ symbol
- On the UK keyboard layout, the hash (#) character is found via option+3.
- Cmd+tab switches applications; Cmd+` (backtick) switches windows within an application.
- Shift+Cmd+[ and Shift+Cmd+] usually switch tabs within a window.
- Moving the caret:
- left/right: move caret one character
- alt+left/alt+right: move caret one word
- cmd+left/cmd+right: move caret to start/end of the line
- cmd+up/cmd+down: move caret to start/end of the document
- The ↖ and ↘ arrows move the screen to the top and bottom of the document, but do not move the caret!
- Cmd+g is find next
- Cmd+r to refresh a web page as F5 doesn't work in Safari
- Finder shortcuts:
- The return key renames a file, not opens it!
- cmd+down to open the selected file
- cmd+up to go up a directory
- shift+cmd+g to go to any specific directory. Useful to get to /usr/local/. Also works in any open/save dialog within an application.
- You can create (or edit) your own keyboard shortcuts for any application's menu item using System Preferences.
Screenshots
Terminal
This is the command line application for OS X. Underneath, you have BSD, so it's works properly! Most common cli apps that you expect to be here are, such as, ls, du, df, curl, svn, etc. For anything else, use Homebrew.
- "open ." will open a finder window in the current directory
- Open Terminal Here is a useful script for Finder. Store in ~/bin and drag it onto your Finder toolbar.
- My article on changing the Terminal's colours is useful.
- Cmd+t for tabs in a Terminal window.
- Cmd+k to clear the buffer.
Applications
- TextWrangler - it's a good free text editor that handles editing files owned by root really elegantly. Install the command line tools and then you can do edit /etc/php.ini.
- MacVim.
- Adium for IM.
- Hibari or Twitterrific for Twitter.
- Cyberduck for FTP. Though spending the $34 for Transmit is worth the cash if you do a lot of FTP.
- NetNewsWire for RSS - integrates with Google Reader.
- Colloquy for IRC.
- MacFUSE to mount SSH and other 3rd parth files systems into OS X's native file handling. See also ExpanDrive also
- Handbrake for converting DVDs and other video converting requirements.
- OnmiDiskSweeper for a pretty version of "du".
- Omni Graffle (not cheap!) is a very good diagramming tool.
- If you tend to keep lots of small files with text notes in them, then look at Notational Velocity.
- VMWare Fusion or Parallels Desktop if you need Windows/Linux VMs.
- MarsEdit to write blog posts.
- Acorn for image editing if you don't need or want Photoshop.
- TinyGrab for screenshot sharing.
- Xcode for gcc, make, and other dev tools. This also includes File Merge and the cli tool opendiff, for viewing diff/patch files.
- MercuryMover for keyboard control of window positioning/sizing.
That's all that comes to mind. Feel free to add more in the comments and if I come across anything else, I'll update this article :)

