Whats the difference between ergoemacs and ergoemacs-mode?

Ergoemacs is a set of customizations that make emacs easier to use. It also includes ergoemacs-mode. The minor mode, ergoemacs-mode, implements the keybindings (and some other features) via a minor-mode that can be toggled to get back to standard emacs.

How do you select text when using ergoemacs-mode and ergoemacs-arrow keys

You can hold the left Alt, then right hand press space to mark, then right hand using any of QWERTY i j k l to move by char, line, or u o to move by word. ⇧ Shift+U and ⇧ Shift+O to move by paragraph/block.

Of course, you can also use the standard shortcuts. For example, to select all, you can press Ctrl+a. To move up, you can press ⇧ Shift+↓ to select text downward.

Another option is to use the ergoemacs reduction key theme. Then the shift-movement keys work.

Some of my backspace keys have been muted by ergoemacs-mode

Ergoemacs-mode allows key sequences to be changed with a backspace key. This masks some of the delete key sequences like C-x Backspace which runs backward-kill-sentence. You can turn this off by the following

(define-key ergoemacs-normal-translation-local-map (kbd "DEL") nil)

If you wish to remove it from the other specialized translations you can do that as well:

(define-key ergoemacs-ctl-to-alt-translation-local-map (kbd "DEL") nil)
(define-key ergoemacs-unchordedl-translation-local-map (kbd "DEL") nil)

You can also allow ergoemacs-mode to translate the Delete key to backspace, so Ctl+x backspace can be typed as Ctrl+x Delete key

How do you get a 【▤ Menu】 key in Mac OS X

Some of ergoemacs keys make use of the 【▤ Menu】 key. One way to set this up in a mac is to replace the Caps Lock key with F13 or above, and tell emacs that F13 is actually the menu key. This is done by:

  1. Downloading and installing Karabiner
  2. Going to the Simple Modifications tab in Karabiner
  3. Adding a mapping from caps lock to F13
  4. Adding the translation to emacs startup script (like ~/.emacs or ~/.emacs.d/init.el) as follows:
(define-key key-translation-map (kbd "<f13>") (kbd "<menu>"))

Why don't you use the standard emacs key notation?

The emacs key notation is common across emacs, but not common for new users. One of the goals of ergoemacs-mode is to allow new emacs users to not have to learn anything about the keys to start using emacs. Therefore, all keys are defined in Ctrl+s notation instead of C-s notation.

I was expecting C-j to be mapped to copy but instead it's C-c on my dvorak

You have some options to get to copy and paste:

  • You can Alt + the normal key positions for undo cut copy paste
  • If you want, you can easily do it with:
(global-set-key (kbd "<C-j>") 'ergoemacs-cut-line-or-region)
  • If you want you can keep all standard shortcuts in the normal QWERTY positions by:
(setq ergoemacs-theme nil)
(setq ergoemacs-change-fixed-layout-to-variable-layout t)
(setq ergoemacs-keyboard-layout "dv")
(require 'ergoemacs-mode)
(ergoemacs-mode 1)

I want to modify my modifiers to work differently on a mac

Ergoemacs-mode uses the Option/Alt key as the Meta key by default. To use Command as the Alt key and Option as the Super key, set

(setq ns-command-modifier 'meta)
(setq ns-alternate-modifier 'super)
See also here for more information about setting modifiers. Note that this can interfere with some global shortcuts. For example, Ergoemacs-mode uses Meta-SPC to set the mark. However, typing Command-SPC ordinarily brings up Spotlight. To disable this and allow Ergoemacs to use this binding, go into
System Preferences -> Keyboard -> Shortcuts -> Spotlight
and disable that binding.