Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

If you want the keyboard commands that you're used to, you can program them. That's generally a bad idea...

Let me underline this sentence. Some people (particularly the ones who think that copy and paste were invented by God on the eighth day of creation) get it into their heads that they should redesign the emacs interface on their first day. This is particularly tempting because the ability to remap keys all over the place is one of emacs' best features.

Resist the temptation to do this at first. The emacs ecosystem actually makes a great deal of sense once you settle into its way of thinking. It's sometimes hard to believe, but very smart programmers have spent decades working out where to put things in emacs. If you insist on ignoring their efforts, and instead try to pretend that emacs is a lot like the Mac OS, you will never even learn the basics, like the glories of the kill ring and the mark ring, or the important distinctions between a file and a buffer.



A couple reasons to not try to immediately make the keyboard shortcuts match the editor you're used to:

* You'll probably overwrite some other really useful keyboard shortcuts unintentionally. C-v (Paste, on Windows) is page-down in Emacs. C-c is the prefix for mode-specific commands; C-c C-c sends email, compiles the function under the cursor, etc., depending on what file / buffer type you're working in.

* Emacs has its own ways to do some of those operations. Copying and pasting under Emacs is fundamentally different because of the "kill ring". Instead of having a clipboard, it has a stack (which loops once you hit the end, hence, "ring").


> C-v (Paste, on Windows) is page-down in Emacs

I've tried to start using Emacs a few times now, and I just can't get this. My keyboard already has page up/down and arrow keys that are accessible without using a modifier. Why would I want to use a two key combo when a single key will suffice? Page jumping especially is something that you're not going to be in a rush to insert text afterwards.

The other thing I don't get is the ridiculous hand-mangling you've got to do for the M-combos. (I'd already remapped caps lock to control)

I understand that many of its standard key combinations precede the keycaps and de-facto standards of today, but I'd hardly consider it a loss for the bindings to fit in better with the rest of a modern system.

I'm about to try Emacs for the third time. Are there any common sets of alternative bindings?


I find Emacs much easier to use with the Dvorak keyboard layout, but that's its own big argument waiting to happen.

Under Qwerty, most of the common prefix keys (e.g. C-x, C-c, M-x) are scrunched together on the left hand. If you're also using your left hand to press Ctrl (whether on CapsLock or at the bottom left of the keyboard), you're mangling your hand. That's why there's also a right Ctrl key.

FWIW, I sometimes use Page Up/Down and the arrow keys while just reading, but tend to use the Emacs-style navigation shortcuts while actively editing. C-v never made sense to me, either; I'm guessing it's just historical.


I generally agree with you about trying to redesign the interface. However, if you exercise some discipline, it can be a worthwhile way to sequence a gradual adoption of Emacs.

This is especially true for users of other programming-style text editors, such as Vi(m). Using Viper or similar can be a good way to ease into Emacs. It's even structured that way -- you can progress through the levels to gradually transition from Vim's way of doing things to the Emacs way. I did this myself.

As I said, it does require the discipline to periodically learn more and more features to progress. Aquamacs offers a similar transition for Mac OS X users.


Two other reasons to avoid unnecessary customization are (1) your fingers will learn it and (2) other people's fingers won't know it.

Occasionally you'll want to use emacs on someone else's system, usually in their current session. You'd like to be able to do that without customizing their system. Similarly, you want them to be able to use your system/session without undoing your customizations.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: