====== GNU Emacs ======
GNU Emacs is my editor of choice and it has been for quite a long time.
I use vanilla Emacs, configuring it manually each time I start using a computer.
===== Configuration =====
Here's the key part of my configuration, with some comments.
==== Packages ====
I only use Melpa packages.
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
==== Behaviour ====
I hide everything I can, keep some (numbered) versions. I use FreeBSD, so I haven't got ''ls'' extension Dired usually uses.
(setq inhibit-startup-message t
initial-scratch-message ""
version-control t
delete-old-versions t
kept-old-versions 10
kept-new-versions 5
dired-kept-versions 5
uniquify-buffer-name-style 'post-forward-angle-brackets
uniquify-strip-common-suffix t
line-move-visual nil
history-length 200
visible-bell t)
(auto-save-visited-mode 1)
(save-place-mode 1)
(savehist-mode 1)
(setq dired-use-ls-dired nil)
(calendar-set-date-style 'iso)
(set-language-environment "Polish")
(set-default-coding-systems 'utf-8)
(setq calendar-week-start-day 1
display-time-format "%d%^b W%0V")
(menu-bar-mode -1)
(tool-bar-mode -1)
(blink-cursor-mode 1)
(setq blink-cursor-blinks -1)
(display-time-mode 1)
(display-battery-mode 1)
(setq-default truncate-lines nil
fill-column 78)
(show-paren-mode t)
(setq show-paren-style 'parenthesis
show-paren-delay 0.3)
==== Completion ====
Default completion is almost enough for me, I just add ''orderless'' to make it even better.
(require 'orderless)
(setq completion-styles '(basic emacs22 flex orderless))
===== Extensions =====
I use following extensions:
* [[https://orgmode.org/|Org-Mode]]
* [[https://www.emacswiki.org/emacs/DeftMode|Deft]] and [[https://www.eliasstorms.net/zetteldeft/|Zettledeft]]
* [[https://www.emacswiki.org/emacs/CompanyMode|Company]]
* [[https://emacs-lsp.github.io/|Language Server Protocol]] with [[https://github.com/emacs-lsp/lsp-treemacs|LSP Treemacs]]
* Programming language modes