NOTE: My emacs setup is tested to work only with emacs 24.5 and newer versions. If you are on older versions, I would recommend that you upgrade to the latest available stable version.
You can start using my emacs setup by following these steps:
curl https://raw.githubusercontent.com/kaushalmodi/.emacs.d/master/git_force_update.csh >! git_force_update.csh && chmod 744 git_force_update.csh
. This script basically git clones my config and all sub-modules that I rely on (mine + others).source git_force_update.csh ~/.emacs.d
if you want to download this config to~/.emacs.d/
directory. If the download location you specify already exists, a backup of it will be created first.- Edit the user-emacs-directory var in the just downloaded init.el IF needed BEFORE starting emacs using this config.
If you ran
source git_force_update.csh ~/.emacs.d
in Step 2 above, you will not need to change any variable. But if you didsource git_force_update.csh <SOME_OTHER_DIR>
, you will need to change the value ofuser-emacs-directory
in<SOME_OTHER_DIR>/init.el
to<SOME_OTHER_DIR>
. - Start emacs as usual if you did not change the download location in Step 2. If you DID change the download location to
<SOME_OTHER_DIR>
, you will need to do\emacs -Q -l <SOME_OTHER_DIR>/init.el
.
That’s it. The first start will take a couple of minutes as it auto-installs all packages in the all-packages
list defined in the init.el
.
- Few setup files have setup done as per my personal tastes and needs:
setup-files/setup-misc.el
setup-files/setup-mode-line.el
setup-files/setup-registers.el
- If you want to change the default theme, font size, etc, you would want to edit
setup-files/setup-visual.el
- Any of the variables or global minor modes set in my config can be overridden in
setup-personal.el
which you need to create in the directory pointed by the variableuser-personal-directory
. - You can also choose to override certain variables in the very beginning of the
init.el
by customizing the variables in asetup-var-overrides.el
file placed inuser-personal-directory
. You can refer to an example of this file here. During the first time setup, copy thesetup-var-overrides-EXAMPLE.el
file tosetup-var-overrides.el
in the same directory. setup-editing.el
has interesting elisp snippets that I created + borrowed over time for functions related to general editing.
- Use of my minor mode
modi-mode
to enable my custom key-bindings. Doing so allows me to force override my bindings in all major and minor modes. If I ever need to try out the default emacs bindings, I can simply disablemodi-mode
by doingM-x modi-mode
. It is enabled globally by default. - Use of
use-package
in load all packages for faster load times. - Use of
bind-keys
allows me to review my custom bindings in a single buffer by doingM-x describe-personal-keybindings
. - Certain packages will be loaded only if you have the associated applications installed.
ag
ctags
global
(gtags)git
matlab
aspell
orhunspell
ps2pdf
xelatex
I am looking forward to suggestions, corrections.
Thanks!