kaushalmodi / .emacs.d
Labels
Projects that are alternatives of or similar to .emacs.d
#+title: modi .emacs.d #+author: Kaushal Modi
#+begin_quote My emacs setup is tested to work only with emacs 25.1 and newer versions. If you are on older versions, I would recommend that you upgrade to the [[https://www.gnu.org/software/emacs/download.html][latest available stable version]].
On the other hand, I keep my emacs updated to the [[http://git.savannah.gnu.org/cgit/emacs.git/log/][/latest Development version/]]. So my config will definitely work with that if you too are doing the same. #+end_quote
- Using my emacs setup You can start using my emacs setup by following these steps:
-
Download the latest update script for this config #+begin_src shell curl -o force_update_emacsd.sh https://raw.githubusercontent.com/kaushalmodi/.emacs.d/master/force_update_emacsd.sh chmod 744 force_update_emacsd.sh #+end_src This script /git clones/ my config and all sub-modules that I rely on (mine + others).
-
Run the script (review it first if you like) using below if you want to download this config to your =~/.emacs.d/= directory. #+begin_example ./force_update_emacsd.sh ~/.emacs.d #+end_example /If the download location you specify already exists, a backup of it is 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 =./force_update_emacsd.sh ~/.emacs.d= in Step 2 above, you will not need to change that variable. But if you did =./force_update_emacsd.sh =, you will need to change the value of =user-emacs-directory= in =/init.el= to ==.
-
Start emacs as usual if you did not change the download location in Step 2. If you DID change the download location to ==, you will need to do =\emacs -Q -l /init.el=.
That's it!
The first start will take a couple of minutes as it auto-installs all packages in the =my-packages= list defined in the =init.el=.
- Few notes
- 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 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.
- Key points
- 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.
- =rg=
- =ctags=
- =global= (/gtags/)
- =git=
- =matlab=
- =aspell= or =hunspell=
- =ps2pdf=
- =xelatex=
- =ag=
- Feedback I am looking forward to suggestions, corrections.
Thanks!