If you are new to Emacs, be prepared for a very rewarding learning curve!
Firstly, install Emacs from emacs.link.
Our goal in this page is to let you know about some excellent resources to learn Emacs and get you set up with some basic configuration.
If you’re a Vim-fidel wanting to try out Emacs, you may feel at home in Evil Mode (we’ll show you how to do that below).
Some useful resources to learn Emacs:
- The built in tutorial! Start Emacs and type
C-h t(Control and
- GNU Emacs Manual
- Visual tutorial
- Mastering Emacs
- GNU Emacs Reference Card (pdf)
- Sacha’s .emacs.d
The use of EmacsWiki is discouraged as much of the content is out of date.
To truly feel comfortable with Emacs, you are recommended to read the Emacs Lisp Manual (at least the language and core libraries). It will set you free.
The following is intended to set some built-in Emacs variables that often confuse / annoy new users and is by no means a fully functional development environment. Put this into your
~/.emacs.d/init.el and restart Emacs. Make sure you do not have a stale
~/.emacs file left over from a previous attempt to use Emacs.
;; global variables (setq inhibit-startup-screen t create-lockfiles nil make-backup-files nil column-number-mode t scroll-error-top-bottom t show-paren-delay 0.5 use-package-always-ensure t sentence-end-double-space nil) ;; buffer local variables (setq-default indent-tabs-mode nil tab-width 4 c-basic-offset 4) ;; modes (electric-indent-mode 0) ;; global keybindings (global-unset-key (kbd "C-z")) ;; the package manager (require 'package) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("org" . "http://orgmode.org/elpa/") ("melpa" . "http://melpa.org/packages/") ("melpa-stable" . "http://stable.melpa.org/packages/")) package-archive-priorities '(("melpa-stable" . 1))) (package-initialize) (when (not package-archive-contents) (package-refresh-contents) (package-install 'use-package)) (require 'use-package)
Inside Emacs Lisp files, you can type
C-h v over any variable (e.g. in the
setq-default lists) to see its help page, and
C-h f over any function to see its help page.
use-package to manage your configuration and as the recommended way to install packages. e.g. if you want to use
(use-package evil :demand)
you can execute this without restarting Emacs by moving the cursor (“point” in Emacs nomenclature) to the end of the line and typing
To update all MELPA packages, type:
M-x list-packages [RETURN] U [RETURN] x [RETURN]
or invoke the
package-utils-upgrade-all function from
General Emacs Help
Most of the time, you might find what you need from Emacs and not ENSIME. In these cases, the typical help forums are:
If you are uncomfortable engaging with any of these external communities (they do have some level of rules in place, such as Stack Exchange / Emacs mailing list / IRC channels), please feel free to talk about general GNU Emacs usage at gitter.im/ensime/ensime-emacs.