Why configure Emacs?
Because out of the box, Emacs is just a really good text editor. Once you start configuring it, Emacs becomes the world's best text editor, and an extremely configurable (and thus powerful) editor that is specialized for just about anything you want to do. Web designer?
rainbow-mode will make your life easier. Writing Markdown?
markdown-preview lets you see the changes live in a web browser. C/C++?
company have got you covered. Python, Go, Rust? All that and more. If you want to do it, Emacs can do it.
How do I start?
You'll need a
.emacs file, and a working knowledge of the Lisp family of languages. Emacs has its own variant of Lisp, called Emacs Lisp or ELisp. An example section in a
.emacs file might look like this:
;; Set the python-shell-interpreter variable to use Python 3 (setq python-shell-interpreter "python3")
You can also have more complicated expressions (this is Lisp, after all), for doing a lot of things at once:
;; Configure rust-mode to activate some helpful minor modes (mapc (lambda (mode) (add-hook 'rust-mode-hook mode)) (list 'rainbow-mode 'hs-minor-mode 'hideshowvis-enable 'diff-hl-mode 'projectile-mode 'flycheck-mode))
.emacs file is available on GitLab, and here on the wiki you can find some guides for various parts of Emacs configuration.