{"id":13894763,"url":"https://github.com/bbatsov/guru-mode","last_synced_at":"2025-04-05T00:23:25.402Z","repository":{"id":3589067,"uuid":"4652543","full_name":"bbatsov/guru-mode","owner":"bbatsov","description":"Learn to use Emacs the way it was meant to be used (the Emacs guru way)","archived":false,"fork":false,"pushed_at":"2021-10-25T11:57:21.000Z","size":30,"stargazers_count":107,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T08:45:36.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbatsov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-13T15:18:59.000Z","updated_at":"2025-01-14T09:09:39.000Z","dependencies_parsed_at":"2022-08-20T12:40:29.997Z","dependency_job_id":null,"html_url":"https://github.com/bbatsov/guru-mode","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbatsov%2Fguru-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbatsov%2Fguru-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbatsov%2Fguru-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbatsov%2Fguru-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbatsov","download_url":"https://codeload.github.com/bbatsov/guru-mode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247267640,"owners_count":20911018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-06T18:01:45.054Z","updated_at":"2025-04-05T00:23:25.383Z","avatar_url":"https://github.com/bbatsov.png","language":"Emacs Lisp","funding_links":["https://ko-fi.com/bbatsov","https://www.patreon.com/bbatsov","https://www.paypal.me/bbatsov","https://github.com/sponsors/bbatsov"],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# guru-mode\n\n[![License GPL 3][badge-license]](http://www.gnu.org/licenses/gpl-3.0.txt)\n[![MELPA](http://melpa.org/packages/guru-mode-badge.svg)](http://melpa.org/#/guru-mode)\n[![MELPA Stable](http://stable.melpa.org/packages/guru-mode-badge.svg)](http://stable.melpa.org/#/guru-mode)\n\n[badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg\n\n## Synopsis\n\nGuru mode disables (or warns on) some generic keybindings and suggests the use of the\nestablished and more efficient Emacs alternatives instead. Here are a few examples:\n\n* It will teach you to avoid the arrow keys and use keybindings like `C-f`, `C-b`, etc.\n* It will teach you to avoid keybindings using Home, End, etc.\n* It will teach you to avoid Delete/Backspace.\n\n-------------\n\n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/bbatsov)\n[![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)\n\nYou can support my work on `guru-mode` and my other Emacs packages via\n [PayPal](https://www.paypal.me/bbatsov),\n [ko-fi](https://ko-fi.com/bbatsov),\n [Patreon](https://www.patreon.com/bbatsov) and\n [GitHub Sponsors](https://github.com/sponsors/bbatsov).\n\n## Installation\n\n### Manual\n\nJust drop `guru-mode.el` somewhere in your `load-path`. I favour the\nfolder `~/.emacs.d/vendor`:\n\n```emacs-lisp\n(add-to-list 'load-path \"~/emacs.d/vendor\")\n(require 'guru-mode)\n```\n\n### MELPA\n\nIf you're an Emacs 24 user or you have a recent version of package.el\nyou can install guru-mode from the [MELPA](https://melpa.org/) repository.\n\n### Emacs Prelude\n\n`guru-mode` is naturally part of the\n[Emacs Prelude](https://github.com/bbatsov/prelude). If you're a Prelude\nuser - `guru-mode` is already properly configured and ready for\naction.\n\n## Usage\n\nYou can enable `guru-mode` globally like this:\n\n```emacs-lisp\n(guru-global-mode +1)\n```\n\nMost likely you'd like to enable `guru-mode` only in specific modes\n(like `prog-mode` in Emacs 24):\n\n```emacs-lisp\n(add-hook 'prog-mode-hook 'guru-mode)\n```\n\nIf you only want to get warnings when you the arrow keys use the following config:\n\n```emacs-lisp\n(setq guru-warn-only t)\n```\n\nYou can extend the list of keybindings covered by `guru-mode` like this:\n\n``` emacs-lisp\n(add-to-list 'guru-affected-bindings-list '(\"\u003cC-left\u003e\" \"M-b\" left-word))\n```\n\nThe list you're adding is of the format (discouraged keybinding, recommended keybinding, command).\n\n**Note:** `guru-mode` operates only on global keybindings and it will never interfere with\nsome mode-specific keybindings.\n\n## Known issues\n\nCheck out the project's\n[issue list](https://github.com/bbatsov/guru-mode/issues?sort=created\u0026direction=desc\u0026state=open)\na list of unresolved issues. By the way - feel free to fix any of them\nand send me a pull request. :-)\n\n## Contributors\n\nHere's a [list](https://github.com/bbatsov/guru-mode/contributors) of\nall the people who have contributed to the development of guru-mode.\n\n## Bugs \u0026 Improvements\n\nBug reports and suggestions for improvements are always\nwelcome. GitHub pull requests are even better! :-)\n\nCheers,\u003cbr/\u003e\n[Bozhidar](http://twitter.com/bbatsov)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbatsov%2Fguru-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbatsov%2Fguru-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbatsov%2Fguru-mode/lists"}