Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.53 KB

README.md

File metadata and controls

59 lines (43 loc) · 2.53 KB

This is my emacs conf

I started using emacs when learning clojure. So, this conf is based on: this introductory tutorial!

Install

git clone https://github.com/fhsgoncalves/.emacs.d.git ~/.emacs.d

Organization

I've tried to separate everything logically and document the purpose of every line. init.el acts as a kind of table of contents. It's a good idea to eventually go through init.el and the files under the customizations directory so that you know exactly what's going on.

Supporting CSS, HTML, JS, etc.

Emacs has decent support for CSS, HTML, JS, and many other file types out of the box, but if you want better support, then have a look at my personal emacs config's init.el. It's meant to read as a table of contents. The emacs.d as a whole adds the following:

  • Customizes js-mode and html editing
    • Sets indentation level to 2 spaces for JS
    • enables subword-mode so that M-f and M-b break on capitalization changes
    • Uses tagedit to give you paredit-like functionality when editing html
    • adds support for coffee mode
  • Uses enh-ruby-mode for ruby editing. enh-ruby-mode is a little nicer than the built-in ruby-mode, in my opinion.
    • Associates many filenames and extensions with enh-ruby-mode (.rb, .rake, Rakefile, etc)
    • Adds keybindings for running specs
  • Adds support for YAML and SCSS using the yaml-mode and scss-mode packages

In general, if you want to add support for a language then you should be able to find good instructions for it through Google. Most of the time, you'll just need to install the "x-lang-mode" package for it.

Useful commands

Keybindings

Keybinding Description
M-x package-list-packages RET U x Update all bundled packages
M-d Delete the next word
M-DEL Delete the previous word
M-s Splice the form into the outer form (remove the quotes and parenteses)
C-u C-M-x Enable debug for current fn

Functions

Reload the project.clj

Source: http://hugoduncan.org/post/alembic_reloads_your_project_clj_dependencies/

(alembic.still/load-project)

Clojure

libs