doomemacs/README.md

88 lines
3.3 KiB
Markdown
Raw Normal View History

2015-06-14 23:26:03 +08:00
# NARF Emacs
2016-01-24 10:10:40 +08:00
![Screenshot](/../screenshots/main.png?raw=true)
2015-06-14 23:26:03 +08:00
> What we do every night, Pinky...
2016-02-26 22:30:41 +08:00
This is an Emacs configuration for stubborn vimmers and megalomaniacal mice alike. It
2016-01-24 09:38:12 +08:00
strives to emulate vim as best it can, and surpass it in any way possible.
2015-06-14 23:26:03 +08:00
## Installation
```
2015-10-01 01:52:30 +08:00
brew install cask
2016-02-26 22:30:41 +08:00
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-imagemagick --with-modern-icon
2016-04-06 11:53:38 +08:00
git clone https://github.com/hlissner/.emacs.d ~/.emacs.d
2015-06-14 23:26:03 +08:00
cd ~/.emacs.d
make # installs plugins via cask and generates autoloads
```
2016-02-26 22:30:41 +08:00
And to optionally:
2016-01-24 09:38:12 +08:00
2016-02-26 22:30:41 +08:00
```
make compile # optionally byte-compiles everything
make snippets # install hlissner/emacs-snippets into private/snippets
```
2016-01-24 09:38:12 +08:00
2015-06-14 23:26:03 +08:00
## Features
2016-01-24 09:38:12 +08:00
To get a picture of what's in here, check out:
2015-12-12 16:18:14 +08:00
2016-02-26 22:30:41 +08:00
* **[The Caskfile](Cask)**: lists installed plugins and where they're configured.
* **[init.el](init.el)**: lists all loaded modules
* **[private/my-bindings.el]**: most of the custom keybinds
* **[private/my-commands.el]**: available custom ex commands
2016-04-06 11:53:38 +08:00
* **[ext/Makefile](ext/Makefile)**: lists external dependencies
2015-12-12 16:18:14 +08:00
2016-04-06 11:53:38 +08:00
### Highlights
2015-12-12 16:18:14 +08:00
2016-03-30 12:51:12 +08:00
* Pretty line numbers with **nlinum** and neckbearded hackery
* Syntax checking with **Flycheck**
* Completion with **company-mode**
* Pretty mode-line with **spaceline**
* Project navigation with **helm** and **neotree**
* Project search with **ag** and file search with **evil-search** or **helm-swoop**
* Project-wide search and replace with **helm-ag** (press shift-Tab while in results
buffer)
* Session persistence (and tab emulation) with **workgroups2**
2016-04-06 11:53:38 +08:00
![Workgroups2 tabs emulation](/../screenshots/tabs.png?raw=true)
2016-03-30 12:51:12 +08:00
* Run code inline with **quickrun**
2016-04-06 11:53:38 +08:00
* REPLs for many major modes with **repl-toggle**, including Ruby, Python,
2016-03-30 12:51:12 +08:00
PHP, JS, Elisp, Haskell and Lua.
2016-04-06 11:53:38 +08:00
* 2-char motions with **evil-snipe**
* Diffs in the margin with **git-gutter**
2016-03-30 12:51:12 +08:00
* Repeat (most) motions with <kbd>SPC</kbd>
2016-04-06 11:53:38 +08:00
* Snippet expansion with **yasnippet** and **auto-yasnippet**
2016-03-30 12:51:12 +08:00
* File template support with **auto-insert** and **yasnippet**
2016-04-06 11:53:38 +08:00
* Code folding with **hideshow**
2016-03-30 12:51:12 +08:00
* Multiple cursors with **[evil-multiedit]**
* O/S interaction functions, like **os-reveal** and **os-open-in-browser**
* Custom TODO, FIXME and NOTE highlighting
* **big-mode** for presentations and demonstrations
* Tmux integration with `:t` and `:tcd` ex commands
2016-04-06 11:53:38 +08:00
* Tamed popup windows with **shackle**
* Vim-esque omnicompletion. e.g. `C-x C-f` for files
* Quick keybindings with `:[nviom]map`
* Emacs for modern note-taking/LaTeX/writing with **org-mode** or **rst-mode**
2016-03-30 12:51:12 +08:00
* **Modeline improvements**
2016-04-06 11:53:38 +08:00
* evil-search/iedit/evil-substitute mode-line integration:
2016-03-30 12:51:12 +08:00
![matches count in mode-line](/../screenshots/search.png?raw=true)
![substitutions count in mode-line](/../screenshots/subst.png?raw=true)
2016-04-06 11:53:38 +08:00
* Macro-recording indicator:
2016-03-30 12:51:12 +08:00
![macro indicator in modeline](/../screenshots/macro.png?raw=true)
2016-04-06 11:53:38 +08:00
* Show (py|rb)env version in mode-line
2016-03-30 12:51:12 +08:00
![py/rb version in modeline](/../screenshots/version.png?raw=true)
2015-06-14 23:26:03 +08:00
## What about Windo-
![Windows, you say...](http://i3.kym-cdn.com/photos/images/newsfeed/000/549/293/504.gif)
2016-02-26 22:30:41 +08:00
[private/my-bindings.el]: private/my-bindings.el
[private/my-commands.el]: private/my-commands.el
[evil-mc]: https://github.com/gabesoft/evil-mc
[multiple-cursors]: https://github.com/magnars/multiple-cursors.el
[evil-multiedit]: https://github.com/hlissner/evil-multiedit