Skip to content

stshine/emacs-sensible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimal Emacs defaults that make sense

This project aims to be a minimal Emacs configuration that enhance Emacs default editing experience, better appearance with font and theme settings, and UI tweaks. If you are a Emacs new comer that are willing to rolling out your own configuration rather than using one of the popular starter kits, this configuration provides a solid foundation for you to learn, tinker, and extend.

Features

  • Sensible defaults: This configuration enhance Emacs default settings thas gives beginners a welcoming experiance.
  • Out of box: Everything should works after installation that do not need further modification.
  • Minimal size: With about 250 lines of carefully commented code, a beginner could easily learn, unstand, and change it.
  • Modernized layout: Utilizing built in package manager and use-package, This configuration represents a very clean structure that you can easily extend.
  • Discoverbility: With built-in menus and which-key package, It is easier for beginners to find and learn Emacs funtionality and keybings.
  • Lisp editing: With smartparens and paren-face, Emacs lisp editing experience becomes a charm.

Installation

Install Emacs

First, you should have Emacs installed on your system. If it is not installed, See the instruction.

Install this configuration

wget https://raw.githubusercontent.com/stshine/emacs-sensible/master/init.el >> ~/.emacs.d/init.el

Run Emacs and explore!

What’s next

If you are a emacs beginner

I recommend you to start from the tutorial. Click Help on the menu, then click tutorial. Go through it!

Add new packages with use-package

Code in this configuration is organized around the awesome use-package declaration. the structure of code in use-package is mainly splited by a series of :keywords. For example, if you want to install the famous magit package, then can you add the following to init.el:

(use-package magit
  ;; :custom keywords can modify options that are declared using the custom system.
  ;; I recommend to set variables that are customizible in this way because
  ;; it can run additional configuring steps that custom system may have.
  :custom
  ;; Set all directories in '~/Programs' to be magit repositories
  (magit-repository-directories '(("~/Programs" . 1)))
  ;; :bind keywords add new key bindings
  :bind
  (;; Here we bind [f8] to magit dispatcher
   ("<f8>" . #'magit-dispatch)
   ;; Bind "C-<f8>" to magit status buffer
   ("C-<f8>" . #'magit-status)))

Write elisp functions

Learn emacs lisp and put your code into emacs-func.el. Happy hacking!

About

Minimal Emacs defaults that make sense

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published