This configuration currently can be used to edit files using Vim keybindings, instead of emacs keybindings.
If you are an emacs user, you could just continue using your emacs keybindings, without any trouble, just note that if you press Ctrl+z, you will enter Vim mode, just exit Vim mode using Ctrl+z.
Instead of using this config, consider purcell if you are a beginner and would like a simpler initial configuration, prelude if you need a more comprehensive configuration.
Note that the majority of code in this config, comes from purcell's config.
If you are a Vim user, open ~/.emacs.d/init.el and paste the following line at the end of the file
(setq evil-default-state 'normal)
If you are an emacs user and planning to switch to Vim through evil, Press Alt+x evil-tutor-start to learn Vim. Better yet, have a look at spacemacs
Also note that, you could easily switch between emacs and vim modes using Ctrl+z.
Emacs itself comes with support for many programming languages. This config adds improved defaults and extended support for the following:
- Clojure (with Cider and nRepl)
- Scala (with ensime)
- Python
- Javascript
- Haskell
- Emacs 24.4 or greater
- To make the most of the programming language-specific support in this config, further programs will likely be required, particularly those that flycheck uses to provide on-the-fly syntax checking.
All the needed packages can be easily installed following my mac guide/linux guide
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/pervezfunctor/emacs.d.git ~/.emacs.d
Upon starting up Emacs for the first time, further third-party
packages will be automatically downloaded and installed. If you
encounter any errors at that stage, try restarting Emacs, and possibly
running M-x package-refresh-contents
before doing so.
This config enables ido-mode
completion in the minibuffer wherever
possible, which might confuse you when trying to open files using
C-x C-f, e.g. when you want to open a directory to use
dired
-- if you get stuck, use C-f to drop into the
regular find-file
prompt. (You might want to customize the
ido-show-dot-for-dired
variable if this is an issue for you.)
Update the config with git pull
. You'll probably also want/need to update
the third-party packages regularly too:
M-x package-list-packages, then U followed by x.
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)
If you need initialisation code which executes earlier in the startup process,
you can also create an ~/.emacs.d/lisp/init-preload-local.el
file.
If you plan to customize things more extensively, you should probably just fork the repo and hack away at the config to make it your own!