Today I am going to share with you my list of installed packages:
File types support, pretty self-explaining:
- better-defaults: I used to use emacs-starter-kit, but, as I was understanding what it did, I kept wanting to get away from it. better-defaults are almost a couple of configuration tweaks by the same guy who made emacs-starter-kit, to which I was already accustomed to.
- rainbow-mode: colors #RGB values it finds with the corresponding color, like this: #33CCCC
- ack: an interface for the grep-like command line utility
- auto-complete: automatically shows a pop up list with possible completions. It has a lot of plugins.
- browse-kill-ring: show all the kill history.
- editorconfig: support for the editorconfig standard that aims at mantaining a consistent coding style within a project (tabs vs spaces… etc.).
- fic-ext-mode: highlights words like TODO, FIXME… etc.
- fiplr: search files within a project. A project root is marked by the presence of a .git or similar folder in the current buffer’s file directory or any of its parents.
- flymake: on the fly syntax checking.
- free-keys: show what keys are free (not already binded) for the current mode.
- guess-offset: tries to guess the indentation style of the file (tabs vs spaces… etc.).
- idle-highlight-mode: highlights all the occurrences of the word under cursor.
- ido-ubiquitous: use IDO whenever possible.
- magit: good GIT integration.
- smex: a slightly better M-x.
- sr-speedbar: speedbar as a frame.
- yasnippet: code snippets everywhere. Mature and with lots of snippets for all the programming languages.
This is what I have installed for now, but a glance at the output of M-x list-packages is enough to entertain any Emacs enthusiast for countless hours (and probably to save quite a lot of time while doing ACTUAL work with Emacs ;)).
Lastly, you can use this little elisp code in your init.el to automatically download and install your packages:
(when (>= emacs-major-version 24) (setq package-list '(ack apache-mode yasnippet)) (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t) ; activate all the packages (in particular autoloads) (package-initialize) ; fetch the list of packages available (unless package-archive-contents (package-refresh-contents)) ; install the missing packages (dolist (package package-list) (unless (package-installed-p package) (package-install package))) )
See you next time. Have fun ;).