emacs, IM and Firefox on the Mac
I've enjoyed my first day with Mac OS X, but it's missing a few things I like, such as a real emacs (i.e. not in the terminal).
Getting one is real easy:
- download aquamacs
- add this line to your /Users/[your name here]/Library/Preferences/Aquamacs Emacs/Preferences.el file: (setq mac-command-modifier 'meta). This will let the apple keys serve as another pair of alt keys. This avoids annoyances like mistakenly closing the appliction.
Another must-download is the Mac IM client, Adium, which lets you communicate with AIM, Yahoo, etc. instead of just Apple's partners.
The only other major annoyances so far are:
- the fact that doing ALT-. at the bash command-line doesn't behave normally. Instead of repeating the last argument of the previous command, it outputs some characters. WTF? ALT-anything does the same kind of crap. (NOTE: see below)
Navigating around fields in Firefox is crippled. I have to learn new keybindings for things like "go to end of line" (APPLE-RIGHT instead of CTRL-END) and tabbing through fields only considers text inputs and textareas; radio buttons, checkboxes, etc. are skipped, as are links.Hit CTRL-F7 to toggle this behavior between "everything" and "text fields only". Alternatively, go to System Preferences > Universal Access > Keyboard Shortcuts (tab) > select the "all controls" radio button at the bottom. Thank you, Adam!- The keybindings are all APPLE- instead of CTRL-. This is annoying, and hard on my left thumb. The keyconfig extension is helpful, but I have to change each keybinding manually.
update To make the transition even easier, and more ergonomic, I used keyboard preferences to switch the CTRL and APPLE keys' mappings, and then added these lines to my emacs config file:
(setq mac-command-modifier 'control)
(setq mac-control-modifier 'meta)
So, CTRL-O opens files in any program and, in emacs, the CTRL and META behavior is where I'd expect them to be. The downside is that emacs is now hard to use in the terminal. I also re-mapped CTRL-SHIFT-SPACE (formerly CTRL-SPACE (formerly APPLE-SPACE)) to stop bringing up Spotlight.
Also, ALT-. has started working properly in the terminal. I want to switch CTRL and APPLE back, but only for that particular application (Terminal). Is this possible?
update Never mind. On friends' suggestions, I'm just going to suck it up and train my hands to type in Mac mode.
To be able to tab through all fields, you want to turn on "Universal Access" in System Preferences, under Accessibility.
I don't have a Mac in front of me, so I can't tell you the exact place to go.
Uh, also, I /think/ Firefox respects that setting now, but I don't strictly remember.
So maybe this wasn't helpful after all, but still.
Posted by: Adam Vandenberg on June 20, 2006 10:30 AM | permalinkSo you also want to use System preferences > Keyboard & Mouse > Keyboard > Modifier Keys to get rid of the evil capslock :-) I turn mine into a control key.
Posted by: petrilli on June 20, 2006 10:46 AM | permalinkI don't mind Caps Lock, because I'm not in the habit of hitting it.
Posted by: Joe Grossberg on June 20, 2006 10:57 AM | permalinkNo, it's `mac-control-modifier' and `mac-command-modifier'.
However, I would recommend using the System Preferences (Keyboard -> Modifiers) to remap them globally, and not just in Aquamacs.
Ultimately, you might want to get used to the new key combinations - the great thing is that they're all the same in all applications, and you can even use some Emacs key bindings in Cocoa editing fields.
You can map the function key to Meta in Aquamacs, and, with fKeys and a new hack (in Aquamacs CVS / nightly builds), you'll get Caps Lock as Meta.
Posted by: David Reitter on June 20, 2006 12:35 PM | permalinkDavid:
I switched it to 'mac-command-modifier'; thanks.
Also, I used the System Prefs too. The CTRL key does the Apple stuff (e.g. open, new, close) in all apps. However, in emacs, I'm used to hitting that bottom-corner key to do CTRL.
With this combination of keybindings, I can just do what comes reflexively in both emacs and regular apps (I am used to them being different from each other).
Now, I just need to get Terminal to act like emacs.
Posted by: Joe Grossberg on June 20, 2006 1:42 PM | permalinkHa. I already got the "Oh, you use emacs? I'm so sorry to hear that ..." from one coworker. :)
Posted by: Joe Grossberg on June 21, 2006 8:56 AM | permalinkNo more comments! Either someone has violated Godwin's Law, I'm tired of the discussion or, most likely, the ten-week window has closed. You can, however, contact me through email.