I've given spacemacs a try, and have decided to not pursue this project. If you want to use it for some reason, let me know. I will license it MIT.
Modal Emacs is an package that adds modal keybindings to Emacs.
Normally, you access commands in emacs through modifier keys, such as control, meta, and shift. Modal Emacs makes it easy to change keyboard "modes", which changes what keys do.
Thus, whenever a keyboard is in "command" mode, we can use
search, which is easier on the hand (and, in my limited experience,
faster to type).
Modal Emacs is still in early development. You should expect lots of change as the project evolves.
If you have any feedback, suggestions, or would like to help, please contact me via issues!
Not a Vi Emulator
There are a bunch of frameworks that emulate Vim keybindings in Emacs. This is not one of them.
Vim is a great editor. I used Vim for years, and I really like(d) it. However, Emacs and Vim are very different beasts, and the way that they operate is also very different. Their philosophies are different, and their intellectual lineage is different.
Modal Emacs is an attempt to bring modal editing to Emacs, and have it exist in a native, natural way. It does not try to feel familiar to Vim converts.
Download modal-emacs.el someone into your loadpath. For example, you could do:
cd ~/.emacs.d/ wget https://raw.github.com/joelmccracken/modal-emacs/master/modal-emacs.el
Load it into emacs:
;; assuming that you've (require 'modal-emacs)
Modal Emacs should be available as a package soon.
Usage and Configuration
modal-emacs-globalized-mode will enable Modal Emacs as
a globalized minor mode -- thus, it will be enabled in every buffer
currently in emacs, and all buffers that will be created in the
I still don't like Modal Emacs to be active in every buffer.
You may enable Modal Emacs on an per-buffer basis with
modal-emacs-on. I have it selectively enabled with this:
;; only loads in coffeescript and ruby files (add-hook 'coffee-mode-hook 'modal-emacs-on) (add-hook 'ruby-mode-hook 'modal-emacs-on)
Please direct all inquiries to issues!