Learn to use Emacs the way it was meant to be used (the Emacs guru way)
Emacs Lisp
Latest commit 81db561 Apr 15, 2016 @bbatsov Clean up the readme a bit
Failed to load latest commit information.
CONTRIBUTING.md added contribution guidelines Jan 5, 2013
README.md Clean up the readme a bit Apr 16, 2016
guru-mode.el Update the copyright Apr 16, 2016



Guru mode disables some common keybindings and suggests the use of the established Emacs alternatives instead.



Just drop guru-mode.el somewhere in your load-path. I favour the folder ~/.emacs.d/vendor:

(add-to-list 'load-path "~/emacs.d/vendor")
(require 'guru-mode)


If you're an Emacs 24 user or you have a recent version of package.el you can install guru-mode from the MELPA repository.

Emacs Prelude

guru-mode is naturally part of the Emacs Prelude. If you're a Prelude user - guru-mode is already properly configured and ready for action.


You can enable guru-mode globally like this:

(guru-global-mode +1)

Most likely you'd like to enable guru-mode only in specific modes (like prog-mode in Emacs 24):

(add-hook 'prog-mode-hook 'guru-mode)

If you only want to get warnings when you the arrow keys use the following config:

(setq guru-warn-only t)

Known issues

Check out the project's issue list a list of unresolved issues. By the way - feel free to fix any of them and send me a pull request. :-)


Here's a list of all the people who have contributed to the development of guru-mode.

Bugs & Improvements

Bug reports and suggestions for improvements are always welcome. GitHub pull requests are even better! :-)