Much ado about scripting, Linux & Eclipse: card subject to change


Learning to Love the Mac: 13 Tips

A month ago a very large package arrived in the mail: my first MacPro server. I at once fell in love with the case design - clean, simple, and dead-easy to take apart in order to add more drives and RAM. However, that's where the love boat ran aground.

To say it's been a gradual learning curve would be an understatement. Here are a few things I've learned over the past month of dealing with Mac hardware and OS, as well as retraining my fingers to use Mac keyboard bindings (META = Apple Key or Windows Key, depending on your keyboard).

  1. Use META-TAB instead of ALT-TAB to cycle applications
  2. Use META-LEFT/RIGHT instead of HOME/END to jump to start/end of a line
  3. Use ALT-LEFT/RIGHT instead of CTRL-LEFT/RIGHT to jump to prev/next word on a line
  4. META-A, META-X, META-C, META-V replace CTRL-A, CTRL-X, CTRL-C, CTRL-V for select all, cut, copy, & paste. META-L, META-T, META-N replace CTRL-L, CTRL-T, CTRL-N (jump to location bar, new tab, new window). But CTRL-TAB still switches tabs. However, if you have multiple Firefox windows open, there is no way to toggle between them with the keyboard. Same problem with multiple Terminal windows. META-TAB only switches between groups of applications, but not windows within an application.
  5. Sometimes ESC works to dispose a dialog; sometimes only clicking the red X works.

  6. Q replaces qemu, but doesn't seem to work very well for my existing vmware or Virtual Box images
  7. Virtual Box rocks on Windows, Linux and Mac

  8. XCode provides gcc, make, etc.
  9. Fink and DarwinPorts replace Debian/Ubuntu's apt-get and Gentoo's emerge, respectively. Once XCode and DarwinPorts are installed, you can port install vpnc (to fetch deps and compile on the fly) or apt-get install curl (to fetch deps and install).
  10. rEFIt replaces grub, and more or less works as I'd expect. /efi/refit/refit.conf approximately replaces /boot/grub/menu.lst at least as far as picking what partition to default-boot and how long to wait

  11. Java is in /System/Library/Frameworks/JavaVM.framework/Home instead of /opt/ or /usr/lib/jvm/java
  12. Subversion was easier to set up on Mac (using Fink) than on Fedora 10 (using yum), especially since there's now the Galileo+ Update Site from Cloudsmith so you don't have to download from multiple update sites to get it installed.
    However, the version of Subversion available via Fink doesn't work with projects checked out using Eclipse - seems that the commandline client (Subversion 1.4.4) and Subversive with SVNKit (SVN 1.6.1 w/ SVNKit 1.3.0.beta.r5741) are not compatible: svn: This client is too old to work with working copy '.'; please get a newer Subversion client. Using DarwinPorts to update the subversive client to 1.6.3 fixed this issue, but installed it into a different path (/opt/local/bin instead of /sw/bin or /usr/bin).
  13. Eclipse looks better on Mac than on Linux; however, I recently stumbled across a great tip for making Eclipse waste less screen space under gtk on Linux. Highly recommended bit of gtk hackery - one file makes a world of difference!
Do you have any other tips for Linux or Windows people, surviving the transition to Mac OSX? Is there any way to tell OSX to use Windows or Linux keyboard defaults so I don't have to retrain myself?


David Carver said...

I've been using the gtk hack for the last couple of years. You are correct it makes a world of difference. Also in general improves the GTK look as a whole.

As for additional mac tips, not yet, we just got a iMac in the house a couple of weeks ago.. Already easier on my nerves, not having to fix Window crashes every 10 minutes.

Anonymous said...

Command (what you called META) and `(the key left of 1) cycles through multiple windows of the same application. If you have a non-US keyboard layout - this can be configured in Keyboard Shortcuts and is called "Move focus to next window in active application".

Wolfgang Schell said...

Hi Nick,

I recently made almost the same experiences with my new MacBook Pro.

Switching between windows of an application (e.g. Firefox or a Terminal) works with META+< and META+>

One thing I don't like is the non-existence of mnemonics for menues (though you could enable "Full keyboad control" on the last TAB of keyboard settings in the system settings, then press CTRL-F2 to access the menu and start typing the menu you want to select) and especially dialogs. The Eclipse Find/Replace dialog is unusable without using ALT-F/ALT-D as in Windows or Linux...

For some mor etips see



nickb said...

Thanks for the suggestions!

@m64: Yep, I just found that one today too while searching thru menus in frustration.

@wolfgang: META-< and META-> (with or without SHIFT pressed) don't work for me here, but META-` (backtick) does.

My biggest annoyance is how some Eclipse shortcuts switch to META and others stay with CTRL.

Consistency would have been nice, but then so would consistency with line endings across platforms. :P