Developing software in the Real World

OS X Tips and Tricks for Snow Leopard

Following 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

  • Shift+cmd+3 for the whole screen.
  • Shift+cmd+4 and draw a rectangle with the mouse for an arbitrary area of the screen
  • Shift+cmd+4 then space then click on the window to get an PNG of that window.
  • 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 :)

     

    10 thoughts on “OS X Tips and Tricks for Snow Leopard

    1. Dont want to start neverending discussion about the best OS on the planet but do you realy feel like your daily work has improved since you switched to the MacOS X?

      I have switch from Windows to Ubuntu and feel great. Now Im starting to look at MacOS X as a next step for improvement in not only webdevelopment but also daily, home fun in my free time.

      Thanks a lot for your opinion.

    2. Hi Mike,

      I pick my Operating System based on the applications that I want to run.

      As I want to run Photoshop and Capture NX, I had the choice of Windows or OS X. The benefit of being able to have unix underneath appealed to me and so I went OS X at the last change of computer.

      Personally, I quite like it, but it took me a good month or so to get used to it – especially resetting my "muscle memory" for keyboard shortcuts!

      Regards,

      Rob…

    3. Hi Mike, I must say, I have the same improvement with OSX like my Fedora boxes. But my desktop looks pretty nice ;-) If you came from Linux, especially Gnome, there's no problem at all. Okay, the keyboard shortcuts are different, but hey, vim is a nightmare ;-)

      As Rob says, the unix underneath makes it my first choice for an OS at work and now also at home.

    4. Apple+space opens search.
      Apple+tilde toggles windows of app in foreground

      Terminal
      Apple+shift+left or right tranverses tabs.
      Apple+t opens new tab

      There are a few others I use but I'm at my train stop :)

    5. Switching between windows inside a workspace isn't that easy since
      Cmd-Tab moves between applications on all workspaces. You could map
      the default keyboard command but it just changes the window without
      showing you any kind of a switcher where you could choose the target
      window. I use witch: http://manytricks.com/witch/
      http://superuser.com/questions/173418/switch-applications-within-one-space/194320#194320

      Switching between windows inside a workspace isn't that easy since
      Cmd-Tab moves between applications on all workspaces. You could map
      the default keyboard command but it just changes the window without
      showing you any kind of a switcher where you could choose the target
      window. I use witch: http://manytricks.com/witch/
      http://superuser.com/questions/173418/switch-applications-within-one-space/194320#194320

      I'm not sure how you can use a keyboard shortcut out-of-the-box to
      maximize a window. I use shiftit which also has some elementary tiling
      functionality. http://code.google.com/p/shiftit/

      On systems with X I like the fact you can move and resize windows
      while pressing Alt no matter where the mouse is positioned as long as
      it's over the window. I use Mondomouse with which I've mapped Cmd-Alt
      to move and Cmd-Shift to resize: http://www.atomicbird.com/mondomouse

      I also enjoy changing the workspace by moving my mouse to the edge of the screen
      http://www.ksuther.com/warp/

      Working with a Scandinavian keyboard for coding is an exercise in
      agony. I use a US keyboard and map the few extra keys I need with
      Ukelele. I use a dead key which is on my keyboard right to the left
      shift, and after pressing it I can press another key to make a
      character I want. Ukelele is a tad annoying to configure, tho. I had
      to configure the keymaps, save them somewhere, log out and select the
      new keymap to be used.
      http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

      I've used MacPorts for installing familiar software from Linux-land,
      instead of Homebrew. I installed lots of goodies with it I've been
      used to while running Linux, like ctags and feh.
      http://www.macports.org/

      Growl lets me see notifications from applications, and thus I managed
      to hide the dock to get some more screen real estate.
      http://growl.info/

      I have already a good keyboard not designed for the OS X so I mapped
      Caps Lock to output Cmd. I searched for a way to map Esc to the Caps
      Lock, but couldn't find an easy way.

      There is a little quirk in the spaces implementation. If you have two
      applications open with one window each on different spaces, say MacVim
      and iTerm with MacVim on top, and you move to the other workspace
      which has iTerm on top and then move back, you'll see that MacVim is
      no longer on top. Spaces seems to push the focused application up
      front on all the workspaces. I have tried to mitigate this by having
      different applications like Terminal on one workspace and iTerm on
      another.

    Thoughts? Leave a reply

    Your email address will not be published. Required fields are marked *