You should give it a try.
This config is built primarily to work on top of the OS X version of Emacs. Be sure to download version 24 or greater.
git clone git://github.com/edgecase/emacs-config.git
cd emacs-config
rake
- Open emacs with your app launcher of choice. You should see emacs downloading and compiling the defined packages.
We have leveraged Phil Hagelberg's emacs-starter-kit which uses Marmalade for downloading common emacs packages.
For a clojure development environment, follow the steps below.
-
Install Leiningen
-
If you're planning to use
clojure-jack-in
for opening SLIME in a clojure project, you must run$ lein plugin install swank-clojure <VERSION>
where<VERSION>
is the version of swank-clojure you wish to install. OR -
add
swank-clojure
to yourproject.clj
:dev-dependencies
and runlein deps
. This will allow you to open a SLIME session inside theleiningen
project.
Emacs works especially well when wanting user-specific configurations.
Simply place customization files to the folder ~/.emacs.d/<username>
. Where <username>
is the whoami
or logname
of the currently logged in user.
- Any file with a
.el
extension in that folder will be loaded when running emacs.
We suggest creating your own repository of .el
files and symlinking
them to the folder ~/.emacs.d/<username>
.
C-x C-c
=> exit emacs
M-g g
, M-g M-g
=> goto line number
C-s
=> regexp search (forward)
C-r
=> regexp reverse search
C-c y
=> popup yank menu
C-S-up
, C-S-down
, C-S-left
, C-S-right
=> swap buffer up,
down, left, right
C-x C-+
=> increase font size
C-x C--
=> decrease font size
C-x +
=> balance windows
C-x (
# do stuff
C-x )
C-x e
=> execute the macro once
e
=> repeat the macro
Think of it as "directory edit" mode.
C-x d
=> dired mode
C-x C-q
=> edit filename inlineC-c C-c
=> commit changesd
=> schedule file for deletionu
=> unschedule action for this linex
=> execute scheduled changes
C-c C-j
=> clojure-jack-in
C-c f
=> find-file-in-project
C-c d
=> define function, creates new function for the current
symbol video
M-x heroku-repl
=> open repl in a heroku-hosted clojure project
Support for Clojure tests using clojure.test
via SLIME and the
buffer.
C-c ,
, C-c C-,
=> run tests
C-c M-,
=> run current test
C-c '
, C-c C-'
=> show test results
C-c k
=> clear test results
C-c t
=> jump to implementation
M-p
=> jump to previous problem
M-n
=> jump to next problem
C-x v =
=> diff
C-x v u
=> undo local changes
C-x v l
=> view commit log
C-x v i
=> include in repository (git add <file>
)
C-c g
=> MAGIT status
<tab>
=> view diffs
=> stage changesu
=> unstage changesc
=> commit bufferC-c C-c
=> commit changesC-c C-a
=> amend changesP
=> pushF
=> pullb
=> change branchB
=> new branchg
=> refresh status buffer
We are using YASnippet, a TextMate-like snippet templates. Check
.emacs.d/snippets
for a list of snippets for each major-mode.
Feel free to add your own!