#+TITLE: modi .emacs.d
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.
Using my emacs setup 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 did =source git_force_update.csh
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:
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 variable =user-personal-directory=.
You can also choose to override certain variables in the very beginning of the =init.el= by customizing the variables in a =setup-var-overrides.el= file placed in =user-personal-directory=. You can refer to an example of this file [[https://github.com/kaushalmodi/.emacs.d/blob/master/personal/setup-var-overrides-EXAMPLE.el][here]]. During the first time setup, copy the =setup-var-overrides-EXAMPLE.el= file to =setup-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 disable =modi-mode= by doing =M-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 doing =M-x describe-personal-keybindings=.
Certain packages will be loaded only if you have the associated applications installed.
- =global= (/gtags/)
- =aspell= or =hunspell=
Feedback I am looking forward to suggestions, corrections.