{"id":16726318,"url":"https://github.com/brunobonacci/lambdamacs","last_synced_at":"2025-04-10T10:24:23.565Z","repository":{"id":43597852,"uuid":"296065565","full_name":"BrunoBonacci/lambdamacs","owner":"BrunoBonacci","description":"(λmacs) is Emacs for Clojure development on macOS X.","archived":false,"fork":false,"pushed_at":"2025-02-25T11:20:12.000Z","size":796,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T09:11:38.954Z","etag":null,"topics":["emacs"],"latest_commit_sha":null,"homepage":"https://rawcdn.githack.com/BrunoBonacci/lambdamacs/master/README.html","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrunoBonacci.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-16T14:58:33.000Z","updated_at":"2025-02-25T11:20:16.000Z","dependencies_parsed_at":"2023-12-19T19:52:37.472Z","dependency_job_id":"34ab4e60-6a24-4594-be84-0bd97c48bf72","html_url":"https://github.com/BrunoBonacci/lambdamacs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoBonacci%2Flambdamacs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoBonacci%2Flambdamacs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoBonacci%2Flambdamacs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoBonacci%2Flambdamacs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrunoBonacci","download_url":"https://codeload.github.com/BrunoBonacci/lambdamacs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248199088,"owners_count":21063641,"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":["emacs"],"created_at":"2024-10-12T22:52:51.475Z","updated_at":"2025-04-10T10:24:23.549Z","avatar_url":"https://github.com/BrunoBonacci.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"\u003e\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\"\u003e\n\u003chead\u003e\n\u003c!-- 2025-02-18 Tue 10:49 --\u003e\n\u003cmeta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" /\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /\u003e\n\u003ctitle\u003e(λmacs)\u003c/title\u003e\n\u003cmeta name=\"author\" content=\"Bruno Bonacci\" /\u003e\n\u003cmeta name=\"generator\" content=\"Org Mode\" /\u003e\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/gh/BrunoBonacci/org-doc/assets/GTD.css\" /\u003e\n\u003clink rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/styles/github.min.css\"\u003e\n\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/languages/clojure.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/languages/clojure-repl.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/languages/java.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/languages/bash.min.js\"\u003e\u003c/script\u003e\n\u003cscript\u003ehljs.highlightAll();\u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\u003cdiv id=\"content\" class=\"content\"\u003e\n\u003ch1 class=\"title\"\u003e(λmacs)\n\u003cbr /\u003e\n\u003cspan class=\"subtitle\"\u003eEmacs for Clojure development on macOS X.\u003c/span\u003e\n\u003c/h1\u003e\n\u003cdiv id=\"table-of-contents\" role=\"doc-toc\"\u003e\n\u003ch2\u003eTable of Contents\u003c/h2\u003e\n\u003cdiv id=\"text-table-of-contents\" role=\"doc-toc\"\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#org2d0d773\"\u003eIntro\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#org372b471\"\u003eMotivation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org1a63a6d\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org2955085\"\u003eConfiguration\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org145232d\"\u003eStructure\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#orgdbb7119\"\u003ePackages installed\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org4eedb1a\"\u003eKeybindings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#orgb026c42\"\u003eFeatures\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#orgc523f45\"\u003eSwitch Java version\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#orgc185bb1\"\u003eCustom yasnippets\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#orgf576602\"\u003eRestclient\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org50290c3\"\u003e\u003ccode\u003ecljfmt\u003c/code\u003e auto-format\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org3ffcf74\"\u003eWeb development\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org04860dc\"\u003eGet involved\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#org21b9d1c\"\u003eContribution\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#orgade6d00\"\u003eReferences\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#org43814dd\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003e\n(λmacs) is Emacs for Clojure development on macOS X.\n\u003c/p\u003e\n\n\n\u003cdiv id=\"orgaf6a649\" class=\"figure\"\u003e\n\u003cp\u003e\u003cimg src=\"./assets/lambdamacs_600.png\" alt=\"lambdamacs_600.png\" width=\"800\" /\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eCheck \u003ca href=\"https://cdn.jsdelivr.net/gh/BrunoBonacci/lambdamacs/README.html\"\u003edocumentation online\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCheck the code on \u003ca href=\"https://github.com/BrunoBonacci/lambdamacs\"\u003eGithub\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv id=\"outline-container-org2d0d773\" class=\"outline-2\"\u003e\n\u003ch2 id=\"org2d0d773\"\u003eIntro\u003c/h2\u003e\n\u003cdiv class=\"outline-text-2\" id=\"text-org2d0d773\"\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org372b471\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org372b471\"\u003eMotivation\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org372b471\"\u003e\n\u003cp\u003e\nFor a number of years I've been using Emacs as my primary/only IDE.  I\nused a number of \"\u003ci\u003edistributions\u003c/i\u003e\" readily available on internet such\nas \u003ca href=\"https://github.com/overtone/emacs-live\"\u003eemacs-live\u003c/a\u003e and \u003ca href=\"https://github.com/bbatsov/prelude\"\u003ePrelude\u003c/a\u003e of which I made my own extension \u003ca href=\"https://github.com/BrunoBonacci/preludex\"\u003ePreludex\u003c/a\u003e,\nand I watched the birth of \u003ca href=\"https://www.spacemacs.org/\"\u003eSpacemacs\u003c/a\u003e and the new challenger\n\u003ca href=\"https://github.com/hlissner/doom-emacs\"\u003edoom-emacs\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp\u003e\nOver time each of these distributions grew larger and larger\nand it became hard to keep the configuration up-to-date\nbut still minimal (just what you need).\n\u003c/p\u003e\n\n\u003cp\u003e\nSo I decided to build my own out of the best pieces of all of them.\n\u003c/p\u003e\n\n\u003cp\u003e\nIf you are new to Emacs, it is probably best if you start with one of\nthe more popular distributions so that you get enough community\nsupport. If only you need is to develop Clojure, and have enough\ntooling support feel free to use my configuration.\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org1a63a6d\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org1a63a6d\"\u003eInstallation\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org1a63a6d\"\u003e\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eDownload and install \u003ca href=\"https://emacsformacosx.com/\"\u003eEmacs For Mac OS X\u003c/a\u003e if you don't have it yet!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003e\nAlternatively you can install it via:\n\u003c/p\u003e\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-sh\"\u003e\n\u003ccode class=\"sh\"\u003e\nsudo mkdir /usr/local/Frameworks\nsudo chown $\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #86e1fc; font-weight: bold;\"\u003ewhoami\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e:admin /usr/local/Frameworks\nbrew tap d12frosted/emacs-plus\nbrew install emacs-plus@30 --with-no-frame-refocus --with-xwidgets --with-imagem\u003cspan style=\"color: #ff757f; background-color: #161a2a; font-weight: bold;\"\u003eagick --with-native-comp --with-elrumo2-icon\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\nYou can check \u003ca href=\"https://github.com/d12frosted/homebrew-emacs-plus\"\u003egithub://d12frosted/homebrew-emacs-plus\u003c/a\u003e what each option does.\n\u003c/p\u003e\n\n\u003cp\u003e\nNOTE: \u003ci\u003eyou can choose your icon here and replace the last argument with the one you want\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eBackup your previous installation:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-sh\"\u003e\n\u003ccode class=\"sh\"\u003e\nmv ~/.emacs.d ~/.emacs.d-backup\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eClone \u003ccode\u003e(λmacs)\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-sh\"\u003e\n\u003ccode class=\"sh\"\u003e\ngit clone https://github.com/BrunoBonacci/lambdamacs.git ~/.emacs.d\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eInstall platform tools\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\nSome platform tools are used to enhance the user experience and to\nsupport some features.\n\u003c/p\u003e\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-sh\"\u003e\n\u003ccode class=\"sh\"\u003e\nbrew install the_silver_searcher aspell fd clojure-lsp/brew/clojure-lsp-native\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eThat's all, start hacking!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003e\nIf you want you can customize your configuration (see next section).\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org2955085\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org2955085\"\u003eConfiguration\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org2955085\"\u003e\n\u003cp\u003e\nThere are a number of configurable options to setup \u003ccode\u003e(λmacs)\u003c/code\u003e just\nright for your environment.\n\u003c/p\u003e\n\n\u003cp\u003e\nTo change the configuration file edit \u003ccode\u003econfig/user-config.el\u003c/code\u003e.\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eFirst configure your name and email:\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-emacs-lisp\"\u003e\n\u003ccode class=\"emacs-lisp\"\u003e\n\u003cspan style=\"color: #7a88cf;\"\u003e;; \u003c/span\u003e\u003cspan style=\"color: #7a88cf;\"\u003eadd your name and email address\u003c/span\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e user-full-name    \u003cspan style=\"color: #c3e88d;\"\u003e\"Firstname Lastname\"\u003c/span\u003e\n      user-mail-address \u003cspan style=\"color: #c3e88d;\"\u003e\"your-email@email.org\"\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eInstall a nice looking font and pick a size:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\nHere some suggestions:\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/powerline/fonts/tree/master/RobotoMono\"\u003eRoboto Mono\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tonsky/FiraCode\"\u003eFira Code\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://rubjo.github.io/victor-mono/\"\u003eVictor Mono\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-emacs-lisp\"\u003e\n\u003ccode class=\"emacs-lisp\"\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e lambdamacs/default-font \u003cspan style=\"color: #c3e88d;\"\u003e\"Roboto Mono Thin for Powerline\"\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e lambdamacs/default-font-size 150\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eSelect your favorite theme\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\nThere are a number a themes already installed see \u003ca href=\"https://github.com/hlissner/emacs-doom-themes\"\u003ethe full list\u003c/a\u003e and\nsee \u003ca href=\"https://github.com/hlissner/emacs-doom-themes/tree/screenshots\"\u003etheme screenshots\u003c/a\u003e.  I'd recommend to pick your favorite as default\nand use a light theme as alternative. It can be useful sometimes to\nswitch to the alternative for example if you make a\npresentation. Light themes work better with projectors.\n\u003c/p\u003e\n\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-emacs-lisp\"\u003e\n\u003ccode class=\"emacs-lisp\"\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e lambdamacs/default-theme 'doom-moonlight\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e lambdamacs/alternative-theme 'doom-one-light\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\nYou can switch between themes by typing \u003ccode\u003eM-x lambdamacs/switch-theme-to-alternative\u003c/code\u003e\nand switch back to the default theme with \u003ccode\u003eM-x lambdamacs/switch-theme-to-default\u003c/code\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org145232d\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org145232d\"\u003eStructure\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org145232d\"\u003e\n\u003cp\u003e\n\u003ccode\u003e(λmacs)\u003c/code\u003e has the following project structure:\n\u003c/p\u003e\n\n\u003cpre class=\"example\" id=\"orga5ab484\"\u003e\n.emacs.d\n├── init.el    - main emacs init file\n├── config/    - user configuration and other settings\n├── modules/   - packages which are not available in MELPA\n├── src/       - packages installation and configuration\n├── assets/    - Assets for this project (images, css, etc)\n├── yas/       - Custom Yasnippets\n└── .save/     - Locally saved items (history, items etc.)\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgdbb7119\" class=\"outline-3\"\u003e\n\u003ch3 id=\"orgdbb7119\"\u003ePackages installed\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-orgdbb7119\"\u003e\n\u003ctable border=\"2\" cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\"\u003e\n\n\n\u003ccolgroup\u003e\n\u003ccol  class=\"org-left\" /\u003e\n\n\u003ccol  class=\"org-left\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003ePackage\u003c/th\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003ePurpose\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eavy\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eJump where you want (like ace-jump)\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eBookmarks management\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebookmarks\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCode bookmarks\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebrowse-at-remote\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eBrowse selected files or lines on Github (and other repos)\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecarbon-now-sh\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eGenerate images from code snippets, useful for presentations.\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecider\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCIDER the best IDE for Clojude development\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclj-refactor\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCider companion for refactoring\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecommand-log\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eDisplays a buffer with the keys and commands you type\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003edoom-modeline\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003ecool minimalistic modeline\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003edoom-theme\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003ea collection of well curated themes\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eemmet\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eshorthand expansions for HTML and CSS\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eflycheck\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eRun checks on the fly\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eflymd\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eLive preview for Markdown editing\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eflyspell\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eSpell checking\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eforge\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eMagit extension for Pull Requests and Issues\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003egoogle-this\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eQuickly Google something at point\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003egptel\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eextentsion to connect to various local and remote LLMs like ChatGPT\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eimpatient\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003elive preview for HTML editing\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eimpatient-showdown\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003elive preview for Markdown editing\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emagit\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eGit controls\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emarkdown\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eMarkdown mode support with TOC and Live preview (via \u003ccode\u003eflymd\u003c/code\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emultiple-cursors\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eMultiple cursors for editing\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eoutline-presentation\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eUse org-mode to make a presentation\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eparadox\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eA package manager which makes very easy to update your installation\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eparedit\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCan't develop Clojure without structural editing\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003epassword-generator\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eGenerate strong random passwords\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eperspective\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eGroup buffers into projects and swtich between them\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eprodigy\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eLocal process management\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eprojectile\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eUseful functions for working with projecs\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003erestclient\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eTurn simple text buffer into HTTP REST calls\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003esticky-windows\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eStick windows in place (no auto close)\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eswitch-java\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eEnables to select the JVM version while inside emacs\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eundo-tree\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003ePowerful multi-state undo\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003evertico\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eminibuffer completion\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewgrep\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eEditable search buffers\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewitespace\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eTo clean trailing whitespaces in the code\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewsd\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eWebSequenceDiagrams\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eyas-snippet\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCode snippets\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003eTODO:\u003c/li\u003e\n\u003cli class=\"off\"\u003e\u003ccode\u003e[\u0026#xa0;]\u003c/code\u003e wsd\u003c/li\u003e\n\u003cli class=\"off\"\u003e\u003ccode\u003e[\u0026#xa0;]\u003c/code\u003e code rtf pygments\u003c/li\u003e\n\u003cli class=\"off\"\u003e\u003ccode\u003e[\u0026#xa0;]\u003c/code\u003e repl image hack\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org4eedb1a\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org4eedb1a\"\u003eKeybindings\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org4eedb1a\"\u003e\n\u003cp\u003e\nHere is the list of keybindings which are added by this configuration.\n\u003ci\u003eAll standard keybindings are valid, plus the default keybindings of\nthe pacakge installed\u003c/i\u003e.\n\u003c/p\u003e\n\n\u003cp\u003e\nHere is how to read the keybindings:\n\u003c/p\u003e\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ccode\u003eC-x\u003c/code\u003e - \u003ci\u003emeans\u003c/i\u003e \u003ccode\u003eCtrl\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-x 1\u003c/code\u003e - \u003ci\u003emeans\u003c/i\u003e \u003ccode\u003eCtrl\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e followed by \u003ccode\u003e1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eM-x\u003c/code\u003e - \u003ci\u003emeans\u003c/i\u003e \u003ccode\u003eMeta\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e or \u003ccode\u003eAlt\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e or \u003ccode\u003eOption\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003es-x\u003c/code\u003e - \u003ci\u003emeans\u003c/i\u003e \u003ccode\u003eSuper\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e or \u003ccode\u003eCommand ⌘\u003c/code\u003e + \u003ccode\u003ex\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSPC\u003c/code\u003e - is \u003cb\u003espace bar\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRET\u003c/code\u003e - is \u003cb\u003ereutrn key\u003c/b\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003e\nHere the keybindings added/defined by \u003ccode\u003e(λmacs)\u003c/code\u003e:\n\u003c/p\u003e\n\n\u003ctable border=\"2\" cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\"\u003e\n\n\n\u003ccolgroup\u003e\n\u003ccol  class=\"org-left\" /\u003e\n\n\u003ccol  class=\"org-left\" /\u003e\n\n\u003ccol  class=\"org-left\" /\u003e\n\n\u003ccol  class=\"org-left\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003eMode or group\u003c/th\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003eKey\u003c/th\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003eAction\u003c/th\u003e\n\u003cth scope=\"col\" class=\"org-left\"\u003eModule\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclojure-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eM-SPC\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eRemoves all the blanks between two forms except one\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e(λmacs)\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclojure-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-b\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eAdds a nice comment box with current line.\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e(λmacs)\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclojure-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-r\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003ePrefix for Clojure refactoring functions\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclj-refactor\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecider-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-{\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eDecompiles the previous form (into Java code)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eclj-decompiler\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eemmet-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-j\u003c/code\u003e or \u003ccode\u003eC-u C-j\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eExpand emmet' style abbreviations\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eemmet\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eM-y\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eBrowse the content of the \u003ccode\u003ekill-ring\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebrowse-kill-ring\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-a\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eSmart beginning of the line (non blank)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecrux\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e⌘-c\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCopy selected region (like macOS - more natural)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecua-mode\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e⌘-v\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003ePaste selected region (like macOS - more natural)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecua-mode\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-RET\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eToggle rectangular selection\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecua-mode\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-=\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eExpands the selection to the larger surrounding form.\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eexpand-region\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eM-/\u003c/code\u003e or \u003ccode\u003es-/\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eHippie expansion (completion)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ehippie\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-\u0026gt;\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003emulti-cursor mark next like this\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emultiple-cursors\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-\u0026lt;\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003emulti-cursor mark previous like this\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emultiple-cursors\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-\u0026lt;\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003emulti-cursor mark all like this\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emultiple-cursors\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-M-s-. C-M-s-.\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eAdds a cursor on each line of a multi-line selection\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emultiple-cursors\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x j\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eJump to section in buffer (depends on current mode)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecounsel\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-j\u003c/code\u003e + char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eJumps to the word starting with the given char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eavy\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-.\u003c/code\u003e + char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eJumps to the location selected with the given char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eavy\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-w\u003c/code\u003e + char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eJumps to the window selected with the given char\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eavy\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-w\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpens the selected file in Github\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebrowse-at-remote\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-S-w\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCopy the link of the selected file in Github in kill-ring\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebrowse-at-remote\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e⌘-←\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eRestore previous window layout\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewinner\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e⌘-→\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eRedo previous window layout\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewinner\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eeditor\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eM-s-c\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCalls carbon-now-sh and generate an image with your code\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecarbon-now-sh\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-1\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eToggle bookmark\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-2\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCycle previous bookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-3\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCycle next bookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-5\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCreate bookmarks by regex\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-0\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eClear all bookmarks in this buffer\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ebookmarks\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-S-0\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eClear all bookmarks in all buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ebm\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003efiles/buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x C-/\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen \u003cb\u003edired\u003c/b\u003e explorer for the current file.\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e(λmacs)\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003efiles/buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c t\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen a shell terminal\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecrux\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003efiles/buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-r\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen a recently opened file\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ecrux\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003efiles/buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-u C-x 0\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eCloses a locked window (via \u003ccode\u003eC-x 9\u003c/code\u003e)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003esticky-windows\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003efiles/buffers\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eM-s-\u003c/code\u003e + \u003ccode\u003e← → ↑ ↓\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eMove between windows (same keys as iTerm)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003e(λmacs)\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003ewindows\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-S-\u003c/code\u003e + \u003ccode\u003e← → ↑ ↓\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eResize current window using keybindings\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003ewindsize\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eprocesses\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x p\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen \u003cb\u003eProdigy\u003c/b\u003e's status buffer (start/stop processes)\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eprodigy\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eproject\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x g\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen \u003cb\u003eMagit\u003c/b\u003e status\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emagit\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eproject\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x M-g\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eMinibuffer popup with \u003cb\u003eMagit\u003c/b\u003e dispatch functions\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emagit\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eproject\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x g\u003c/code\u003e + \u003ccode\u003eC-o\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eOpen the current project in Github\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003emagit\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eproject\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c p\u003c/code\u003e  or \u003ccode\u003es-p\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003cb\u003eProjectile\u003c/b\u003e's prefix\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eprojectile\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eproject\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-x 9\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eLocks the window in place so that it can't be closed.\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003esticky-windows\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eall\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003es-g\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eGoogle word or region at point\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003egoogle-this\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd class=\"org-left\"\u003eall\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003eC-c C-RET\u003c/code\u003e\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003eSend to gptel, use prefix for options\u003c/td\u003e\n\u003ctd class=\"org-left\"\u003e\u003ccode\u003egptel\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgb026c42\" class=\"outline-2\"\u003e\n\u003ch2 id=\"orgb026c42\"\u003eFeatures\u003c/h2\u003e\n\u003cdiv class=\"outline-text-2\" id=\"text-orgb026c42\"\u003e\n\u003cp\u003e\nHere some features implemented/available in \u003ccode\u003e(λmacs)\u003c/code\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgc523f45\" class=\"outline-3\"\u003e\n\u003ch3 id=\"orgc523f45\"\u003eSwitch Java version\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-orgc523f45\"\u003e\n\u003cp\u003e\n\u003ccode\u003e(λmacs)\u003c/code\u003e focus is on Clojure development. Clojure is a JVM hosted\nlanguage. JVM release process has been traditionally quite slow, but\nin the recent years Oracle and OpenJDK have speed up the release\nprocess to roughly every 6 months.\n\u003c/p\u003e\n\n\u003cp\u003e\nFor this reason it is common to having the need to use/try different\nversion of the underlying JVM while working on a Clojure project.\n\u003c/p\u003e\n\n\u003cp\u003e\nEmacs doesn't have a facility to do this and, to my knowledge, there\nis package that handles this. For this reason I wrote a module that\noffers this possibility and described the solution in this blog post:\n\u003ca href=\"http://blog.brunobonacci.com/2020/07/02/switching-between-multiple-jdk-in-emacs/\"\u003eSwitching between multiple Java JDK versions in Emacs\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp\u003e\nYou can read more about the solution in the blog post but here I will\nonly describe how it works.\n\u003c/p\u003e\n\n\u003cp\u003e\nFirstly you need to tell \u003ccode\u003e(λmacs)\u003c/code\u003e where your JDKs are installed.\nTypically on a macOS the default location is:\n\u003ccode\u003e/Library/Java/JavaVirtualMachines\u003c/code\u003e.\n\u003c/p\u003e\n\n\u003cp\u003e\nIf this is the location where are your JDK versions are installed then\nyou don't need to change the configuration, otherwise select the\nappropriate folder in the \u003ccode\u003econfig/user-config.el\u003c/code\u003e file.\n\u003c/p\u003e\n\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-emacs-lisp\"\u003e\n\u003ccode class=\"emacs-lisp\"\u003e\n\u003cspan style=\"color: #7a88cf;\"\u003e;; \u003c/span\u003e\u003cspan style=\"color: #7a88cf;\"\u003ebase directory where all the JDK versions are installed\u003c/span\u003e\n\u003cspan style=\"color: #7a88cf;\"\u003e;; \u003c/span\u003e\u003cspan style=\"color: #7a88cf;\"\u003euse `M-x switch-java' to select the JVM to use\u003c/span\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e JAVA_BASE \u003cspan style=\"color: #c3e88d;\"\u003e\"/Library/Java/JavaVirtualMachines\"\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\nOnce you set the base directory where all your JDKs are installed and\nevaluated the form, to select a JVM to use you can just run: \u003ccode\u003eM-x\nswitch-java\u003c/code\u003e which will show the list of available JVMs. Once you\nselect one JDK, it will update the \u003ccode\u003e$JVM_HOME\u003c/code\u003e environment variable\nand use it whenever you start a new REPL or java application.\n\u003c/p\u003e\n\n\u003cp\u003e\nHere other commands you can run:\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ccode\u003eM-x switch-java\u003c/code\u003e select a JDK from a list of available ones\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eM-x switch-java-default\u003c/code\u003e will select the system default JDK (the\none in use prior any selection)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eM-x switch-java-which-version?\u003c/code\u003e displays the JDK currently in use.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003e\nYou can see a usage demo here:\n\u003c/p\u003e\n\n\n\u003cdiv id=\"org0035e4e\" class=\"figure\"\u003e\n\u003cp\u003e\u003cimg src=\"http://blog.brunobonacci.com/images/switch-java.gif\" alt=\"switch-java.gif\" /\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgc185bb1\" class=\"outline-3\"\u003e\n\u003ch3 id=\"orgc185bb1\"\u003eCustom yasnippets\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-orgc185bb1\"\u003e\n\u003cp\u003e\n\u003ccode\u003eyasnippets\u003c/code\u003e is a templating minor-mode with allows to define code\ntemplates and complete them with a few keystrokes. Think about the\nrepetitve structures in your code. Check out \u003ca href=\"https://www.youtube.com/watch?v=ZCGmZK4V7Sg\"\u003ethis demo on Youtube\u003c/a\u003e. It\nworks across languages and there are plenty of predefine templates\n\u003ca href=\"http://andreacrotti.github.io/yasnippet-snippets/snippets.html\"\u003eHere\u003c/a\u003e the is a list of all most of the boundled snippets.\n\u003c/p\u003e\n\n\u003cp\u003e\nHowever if you want to define your own snippets you can drop them in\n\u003ccode\u003e~/.emacs.d/yas\u003c/code\u003e folder divided by major-mode. If you are unfamiliar\nwith the templating language used by \u003ccode\u003eyasnippet\u003c/code\u003e you can check\nthe \u003ca href=\"http://joaotavora.github.io/yasnippet/snippet-development.html\"\u003eofficial online documentation\u003c/a\u003e.\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgf576602\" class=\"outline-3\"\u003e\n\u003ch3 id=\"orgf576602\"\u003eRestclient\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-orgf576602\"\u003e\n\u003cp\u003e\nIf you do RESTful services development \u003ccode\u003erestclient\u003c/code\u003e is going to be\nyour best companion.\n\u003c/p\u003e\n\n\u003cp\u003e\n\u003ccode\u003erestclient\u003c/code\u003e turns normal text buffers into executable HTTP requests\nideal to tests your webservices.\n\u003c/p\u003e\n\n\u003cp\u003e\nFor example, create an empty buffer, activate the move via \u003ccode\u003eM-x\nrestclient-mode\u003c/code\u003e then write your HTTP requests like:\n\u003c/p\u003e\n\n\u003cpre class=\"example\" id=\"org32d6492\"\u003e\n#\n# retrieve your current IP address\n#\nGET http://ifconfig.co/ip\n\n\n#\n# retrieve the geolocation city info\n#\nGET http://ifconfig.co/city\nAccept: text/plain\n\n\n#\n# retrieve all as json\n#\nGET http://ifconfig.co/json\nContent-Type: application/json\n\u003c/pre\u003e\n\n\u003cp\u003e\nAfter each request try to press \u003ccode\u003eC-c C-v\u003c/code\u003e to execute the request and\nsee the response.\n\u003c/p\u003e\n\n\u003cp\u003e\nAll \u003ccode\u003e*.rest\u003c/code\u003e files are in \u003ccode\u003erestclient-mode\u003c/code\u003e by default.\n\u003c/p\u003e\n\n\u003cp\u003e\nHere a list of all the keybindings for this mode:\n\u003c/p\u003e\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-c\u003c/code\u003e : runs the query under the cursor, tries to pretty-print the response (if possible)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-r\u003c/code\u003e : same, but doesn't do anything with the response, just shows the buffer\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-v\u003c/code\u003e : same as \u003ccode\u003eC-c C-c\u003c/code\u003e, but doesn't switch focus to other window\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-p\u003c/code\u003e : jump to the previous query\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-n\u003c/code\u003e : jump to the next query\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-.\u003c/code\u003e : mark the query under the cursor\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-u\u003c/code\u003e : copy query under the cursor as a curl command\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-g\u003c/code\u003e : start a [helm](\u003ca href=\"https://emacs-helm.github.io/helm/\"\u003ehttps://emacs-helm.github.io/helm/\u003c/a\u003e) session with sources for variables and requests (if helm is available, of course)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c n n\u003c/code\u003e : narrow to region of current request (including headers)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTAB\u003c/code\u003e     : hide/show current request body, only if\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-a\u003c/code\u003e : show all collapsed regions\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eC-c C-i\u003c/code\u003e : show information on resclient variables at point\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org50290c3\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org50290c3\"\u003e\u003ccode\u003ecljfmt\u003c/code\u003e auto-format\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org50290c3\"\u003e\n\u003cp\u003e\nThe way Cider formats the code isn't particularly nice.  To format the\ncode properly you need to have a repl running and the code needs to be\nloaded. Because of this the formatting changes depending on which\nstate your IDE is. I think it is a bad idea.  I rather have a less\nappealing formatting, but which can be done without having to\nload/compile the code.\n\u003c/p\u003e\n\n\u003cp\u003e\n\u003ccode\u003e(λmacs)\u003c/code\u003e performs a reformatting of the code on save with a\ndefinition which doesn't take into account which particular form you\nare in.  However, there are times this is not convenient, like when\nworking on someone else code. To disable the code-reformat set the\nvariable \u003ccode\u003elambdamacs/cljfmt-reformat-on-save\u003c/code\u003e to \u003ccode\u003enil\u003c/code\u003e in the\nconfiguration.\n\u003c/p\u003e\n\n\u003cdiv class=\"org-src-container\"\u003e\n\u003cpre class=\"src src-emacs-lisp\"\u003e\n\u003ccode class=\"emacs-lisp\"\u003e\n\u003cspan style=\"color: #c099ff;\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #c099ff;\"\u003esetq\u003c/span\u003e lambdamacs/cljfmt-reformat-on-save nil\u003cspan style=\"color: #c099ff;\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\nYou can toggle the value with \u003ccode\u003eM-x cljfmt-toggle-reformat\u003c/code\u003e.\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org3ffcf74\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org3ffcf74\"\u003eWeb development\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org3ffcf74\"\u003e\n\u003cp\u003e\nStart \u003ccode\u003eimpatient\u003c/code\u003e mode on the HTML page your are working on via:\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ccode\u003eM-x impatient-start\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eit will open your browser at \u003ca href=\"http://localhost:8888/imp/\"\u003ehttp://localhost:8888/imp/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEdit the LIVE HTML and\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eC-j\u003c/code\u003e to expand \u003ca href=\"https://github.com/smihica/emmet-mode#html-abbreviations\"\u003eemmet's abbreviations\u003c/a\u003e, use \u003ccode\u003eC-u C-j\u003c/code\u003e to preview the expansion\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org04860dc\" class=\"outline-2\"\u003e\n\u003ch2 id=\"org04860dc\"\u003eGet involved\u003c/h2\u003e\n\u003cdiv class=\"outline-text-2\" id=\"text-org04860dc\"\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org21b9d1c\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org21b9d1c\"\u003eContribution\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org21b9d1c\"\u003e\n\u003cp\u003e\nThis is my personal setup, I don't mind you using it and I'd\nappreciate feedbacks and suggestions on how to improve it!\nIssue a PR, and if it works for me, I'll merge it!\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-orgade6d00\" class=\"outline-3\"\u003e\n\u003ch3 id=\"orgade6d00\"\u003eReferences\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-orgade6d00\"\u003e\n\u003cp\u003e\nThe code in this repo has is the sum of my personal experience and\nthe following references:\n\u003c/p\u003e\n\n\u003cul class=\"org-ul\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bbatsov/prelude\"\u003eEmacs Prelude\u003c/a\u003e - A great Emacs distribution.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bbatsov/emacs.d\"\u003e@bbastov .emacs.d\u003c/a\u003e - Bozhidar's Emacs config.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/overtone/emacs-live\"\u003eemacs-live\u003c/a\u003e - Another Emacs distribution.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/daviwil/dotfiles/blob/master/Emacs.org\"\u003e@daviwil dotfiles\u003c/a\u003e - David Wilson's Emacs config.\u003c/li\u003e\n\u003cli\u003eEasily, \u003ca href=\"https://github.com/rougier/elegant-emacs\"\u003ethe most elegant Emacs\u003c/a\u003e out there!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rougier/emacs-gtd\"\u003eGet Things Done with Emacs\u003c/a\u003e - From which I took the beautiful CSS for org-mode (thanks).\u003c/li\u003e\n\u003c/ul\u003e\n\n\n\u003cp\u003e\n\u003ci\u003eThank you to all of you!\u003c/i\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"outline-container-org43814dd\" class=\"outline-3\"\u003e\n\u003ch3 id=\"org43814dd\"\u003eLicense\u003c/h3\u003e\n\u003cdiv class=\"outline-text-3\" id=\"text-org43814dd\"\u003e\n\u003cp\u003e\nCopyright © 2020-2025 Bruno Bonacci and contributors.\nDistributed under the GNU General Public License, version 3.\n\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunobonacci%2Flambdamacs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrunobonacci%2Flambdamacs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunobonacci%2Flambdamacs/lists"}