Summary Introduction REPL Driven Development Why Spacemacs Extensive Language Support Simple Layers Clojure Layer Mnemonic Menu A State for everything Transient state menus Discoverable Helm Transient State Structural editing Project & File navigation Layouts Spacemacs mini cheatsheet Contributing Installing Spacemacs Before you start Install Emacs Install Java Install Clojure Command Line Tools Install Spacemacs Manual Configuration Add Clojure layer Enhance Clojure experience Smartparens Evil Structural editing Clojure Fancify Symbols clj-kondo via LSP Clojure-lsp Configure lsp and Cider Snippets Font size and Zooming Open Maximised / Full Screen Themes Line Numbers Emacs Eshell Starting Emacs instantly Git commit messages Update Spacemacs Switch to develop Troubleshooting Using Spacemacs Spacemacs Basics Frames Windows Buffers Working with Projects Open and Create Files Managing Buffers Tidying up Buffers Searching Projects Projectile Managing Windows Layouts Treemacs Ranger dird Visual Select Spell Checking Evil Basics Evil States Speaking Evil Common Evil Vim Quick Reference Vim Tips for developers Keybinding reference Evil tools Narrowing helm-swoop iedit iedit in action iedit a function iedit find replace iedit replace multiple words Replace text across projects Multiple Cursors Evil g menu Evil z menu Clojure Development Clojure Projects Adding Files Rename - Delete Files Project configuration .dir-locals.el Monorepo / Nested projects The REPL Connect to REPL Connect to remote REPL Portal data visualization Reveal data visualization Jack-in to REPL Clojure CLI Configuration Clear REPL buffer ClojureScript REPL Refresh/Restart REPL Component Lifecycle Services Evaluating Clojure Evaluate Expressions Un-define names Interrupting evaluation Macro-expand Enlighten Inspect REPL buffer Testing Unit Testing Configure deps.edn project Writing Unit Tests Running Tests Test report - re-run tests Refactor Tests Configure Cider Test Runner Kaocha Test Runner Navigating code Expressions Markers Namespaces Names - Symbols Function Definitions Find Usages Java Definitions Expressions Code Folding Folding methods Structural Editing cleverparens Smartparens Lisp State Wrap Unwrap Slurp Barf Deleting Raising Repeating Commands Snippets Yasnippets Built-in Snippets Clojure Snippets Create Snippets Writing Snippets Practicalli Snippets Clojure LSP Custom Snippets Practicalli Snippets Refactor code Similar function call name Within a function Within a namespace namespace names Within a project Clojure mode Clojure LSP clj-refactor Managing Library Dependencies Managing Namespaces Collections Extracting Debug Clojure CIDER Error Report Inspect values Cider debug Sayid debug & profile Understanding errors Classpath issues Format Errors Improving Code Formatting Format Clojure Automatic Indenting Aligning forms Live Linting Batch linting Idiomatic code checking Documentation Cider doc Related functions Javadoc Comments Markdown documentation Source Control Source Control Overview Configure Layers Git Configuration Forge Configuration Self-hosted Forge MaGit Git Client Create local repository List local repositories Git Status MaGit Status Fullscreen Branching Staging changes Stash changes Commit changes Create commit Amend commit Extend commit Rewrite commit Tag commit Cherry Picking Remote repositories Add Remote Clone Checkout remote branch Pull Changes Push Changes Try Pull Requests Configure default upstream Configure default push Forge for GitHub/GitLab Add database Issues Pull Requests Forks Changing History Squash commits Interactive Rebasing Reset Commits Git blame Timemachine Highlight Changes in file Clean up Magit sessions More Tools Database Access SQL layer and LSP Org mode Org-mode Headings Lists and checkboxes Linking TODO States Tables Code Blocks Org-mode tweaks Org-journal Literate Programming Encryption Encryption Create gpg key Reference Reference Vim - Getting Comfortable Keybindings Spacemacs Keybindings Vim Keybindings Emacs Keybindings Custom Keybindings Projectile CIDER Config Variables Clojure Strings Maths Data Structures Functions Control flow Local Assignment Alternative tooling NeoTree Silver Searcher - ag Parinfer Paredit * [Paredit: Killing code softly](structural-editing/emacs-killing-code-softly.md) Joker Leiningen External Clojure REPL Connect to existing REPL Switching to REPL Show REPL Buffer on connect REPL Command Menu REPL History MacOSX configuration Misc Artist mode Unicode Characters Writing Emacs Lisp Contributors Emacs development Learning eLisp