GotchaCode

Setting Up Emacs for Development

04 May 2014

I always wanted to use Emacs. Yesterday, I wanted to have a good JavaScript/Node REPL in my editor. Though I had always used Vim since last 5 years still setting up a REPL in Vim is not very easy. So I decided to give Emacs a try and till now I am enjoying using Emacs.

Here is a guide that would help you to setup emacs.

First of all, If you are on Mac install emacs for OSX from here. you could easily install the GUI version of Emacs for other platforms too.

My Emacs config

This is my Emacs config which could be used for development in following technologies:

In particular, there’s a nice config for tab autocompletion, and flycheck is used to immediately highlight syntax errors in Ruby, HAML, Python, Javascript, PHP and a number of other languages.

Demo

This is my emacs live in action:

Requirements

Installation

To install, clone this repo to ~/.emacs.d, i.e. ensure that the init.el contained in this repo ends up at ~/.emacs.d/init.el:

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

Upon starting up Emacs for the first time, further third-party packages will be automatically downloaded and installed.

Adding your own customization

To add your own customization, use M-x customize and/or create a file ~/.emacs.d/lisp/init-local.el which looks like this:

... your code here ...

(provide 'init-local)

Tips for using these emacs settings

If you want to use my settings straight out of the box, here are some things to note:

Survival guide for the first week of emacs

When you start using emacs for the first time, your habits fight you every inch of the way. Your fingers long for the good old familiar keybindings. Here’s an overview of the most commonly used shortcuts to get you through this pain:

Files

Cut copy and paste

General

Window management

Help

Credits & Inspiration

This config is totally based on this repo by Mr. Steve Purcell. But this might diverge with time and my personal taste.

The Survival guide has been taken from .emacs.d project of Mr. Magnar Sveen

Tweet