GitHub - kaushalmodi/.emacs.d: My emacs configuration
source link: https://github.com/kaushalmodi/.emacs.d
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
modi .emacs.d
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 latest available stable version.
On the other hand, I keep my emacs updated to the /latest Development version/. So my config will definitely work with that if you too are doing the same.
Using my emacs setup
You can start using my emacs setup by following these steps:
- Download the latest update script for this config
curl -o force_update_emacsd.sh https://raw.githubusercontent.com/kaushalmodi/.emacs.d/master/force_update_emacsd.sh chmod 744 force_update_emacsd.sh
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../force_update_emacsd.sh ~/.emacs.d
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 <MY-EMACSD-DIR>
, you will need to change the value ofuser-emacs-directory
in<MY-EMACSD-DIR>/init.el
to<MY-EMACSD-DIR>
. - Start emacs as usual if you did not change the download location in
Step 2. If you DID change the download location to
<MY-EMACSD-DIR>
, you will need to do\emacs -Q -l <MY-EMACSD-DIR>/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 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.
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 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.
rg
ctags
global
(gtags)git
matlab
aspell
orhunspell
ps2pdf
xelatex
ag
Feedback
I am looking forward to suggestions, corrections.
Thanks!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK