# Emacs Configuration Version 2 of my Emacs Configuration updated for Emacs 28.2. Most bindings are kept default. If there are binding changes they are listed here. Clone this repo into your home directory using: ``` git clone git@git.xchg.sh:angrygoats/emacs-config.git .emacs.d ``` ![emacs screenshot](emacs.png) ## Server By default `init.el` spins up an Emacs server as it's last task. You can set `EDITOR` to `emacsclient` in order to use your existing Emacs session quickly for tasks like mail (if you use a text-based mail editor). See this [helpful documentation](https://www.nongnu.org/emacsdoc-fr/manuel/emacs-server.html) on using Emacs as a server. ## Private Configurations Sometimes you have certain things that a library might require but you don't want committed to your dotfiles. This git project will ignore `private.el`. You may put your private information in `~/.emacs.d/elisp/private.el` for it to be loaded. ## IBuffer `ibuffer` has been configured to filter/folderize common things such as source code, magit, etc for easier management. To launch it, use `C-x C-b`. ## Markdown For full use of the markdown mode you will need a markdown preprocessor installed such as pandoc or multimarkdown. The current configuration is set to use multimarkdown. You may wish to install it using your package manager. ## Git `magit` is installed. [Learn to use it](https://emacsair.me/2017/09/01/magit-walk-through/). ## Neotree A nice tree is provided (with icons) by `Neotree`. You can toggle the tree by using ``C-``` ## Project Management `Projectile` is installed. You may learn more about how to use it [here](https://github.com/bbatsov/projectile). ## Syntax Checking `flycheck` is installed. To list errors found by flycheck you can click the modeline error indicator or type `C-c ! l` to list them in a new buffer. ## Switching Between Windows To go forward and backward between windows the bindings have been changed to `C-.` and `C-,` respectively. Now, you can simply hold control and press one more key in order to switch between windows easily. Additionally you may use `M-` where `` is your left, right, up, or down arrow key in order to move between windows. ## Languages ### Lisp `SLIME` is installed and automatically configured to `sbcl`. To evalute the current `defun` in `SLIME` press ``. To evalute the buffer press ``. ### Notes on SLIME When starting you may get an error about an improper number of arguments being passed. Upon tracing the error you will see that something in `hyperspec.el` is causing an issue. The fix that worked for me is to manually run `SLIME` via `M-x slime`. After that things will get compiled and `use-package` will then proceed to work as normal. For a first installation even `use-package` may fail. In this case you will need to do `M-x package-install` and type `slime` to install `SLIME` and then proceed with the fix.