Giter VIP home page Giter VIP logo

.emacs.d-1's Introduction

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:

  1. 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).
  2. 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.
  3. 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 <SOME_OTHER_DIR>, you will need to change the value of user-emacs-directory in <SOME_OTHER_DIR>/init.el to <SOME_OTHER_DIR>.

  4. 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 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 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.
    • ag
    • ctags
    • global (gtags)
    • git
    • matlab
    • aspell or hunspell
    • ps2pdf
    • xelatex

Feedback

I am looking forward to suggestions, corrections.

Thanks!

.emacs.d-1's People

Contributors

kaushalmodi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.