diff options
Diffstat (limited to 'emacs/inits/01-basic.el')
| -rw-r--r-- | emacs/inits/01-basic.el | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/emacs/inits/01-basic.el b/emacs/inits/01-basic.el new file mode 100644 index 0000000..5c66367 --- /dev/null +++ b/emacs/inits/01-basic.el @@ -0,0 +1,126 @@ +;; Time-stamp: <2019-09-11 10:19:29 (tslil@basingstoke)> + +;; ----------------------------------------------------------------------------- +;; Interface + +(tool-bar-mode -1) +(menu-bar-mode -1) +(scroll-bar-mode -1) +(fset 'yes-or-no-p 'y-or-n-p) + +(setq select-enable-clipboard t + select-enable-primary t + save-interprogram-paste-before-kill t + require-final-newline t + visible-bell nil) + +(setq echo-keystrokes 0.1 + confirm-kill-emacs 'y-or-n-p + disabled-command-function nil + ring-bell-function 'ignore) + +(size-indication-mode t) + +(defun enlarge-to-fill () + "Stretch the buffer to accomodate `fill-column` many columns." + (interactive) + (let ((ww (window-width))) + (when (< ww (+ 1 fill-column)) + (enlarge-window-horizontally (- (+ 1 fill-column) ww))))) + +(global-set-key (kbd "C-c 3") (lambda () + (interactive) + (split-window-horizontally) + (enlarge-to-fill))) + +(blink-cursor-mode 0) +(setq cursor-type 'box) +(set-cursor-color "black") + +(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/") +(when (eq 'x (window-system)) + (load-theme 'zenburn t) + (set-face-attribute 'default nil :font "Fira Code-14")) + +(set-fringe-style 0) +;; (set-fringe-mode 128) + +;; ----------------------------------------------------------------------------- +;; Backups + +(setq backup-by-copying t + backup-directory-alist '((".*" . "~/store/backups/")) + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t) + +(setq create-lockfiles nil) + +;; ----------------------------------------------------------------------------- +;; Defaults + +(setq fill-column 80) + +(setq standard-indent 2) +(setq-default tab-width 2 + indent-tabs-mode nil) +(add-hook 'before-save-hook #'whitespace-cleanup) + +(show-paren-mode t) + +(setq-default truncate-lines t + truncate-partial-width-windows nil) +(setq scroll-step 1) + +(setq next-line-add-newlines nil) + +(setq enable-dir-local-variables nil) + +;; ----------------------------------------------------------------------------- +;; Packages + +(use-package recentf + :demand t + :config + (setq recentf-max-saved-items 42) + (recentf-mode)) + +(use-package uniquify + :config + (setq uniquify-buffer-name-style 'forward)) + +(require 'saveplace) +(save-place-mode) + +(use-package undo-tree + :ensure t + :config (setq undo-tree-visualizer-timestamps t) + (global-undo-tree-mode 1)) + +(use-package keyfreq + :ensure t + :config + (setq keyfreq-file "~/.emacs.d/keyfreq" + keyfreq-file-lock "~/.emacs.d/keyfreq.lock") + (keyfreq-mode 1) + (keyfreq-autosave-mode 1)) + +;; ----------------------------------------------------------------------------- +;; Scratch buffer + +(defun immortal-scratch () + (if (eq (current-buffer) (get-buffer "*scratch*")) + (progn (bury-buffer) nil) t)) + +(add-hook 'kill-buffer-query-functions 'immortal-scratch) + +;; I couldn't figure the config options out, so this is the next best thing +(defun display-startup-echo-area-message () nil) + +(setq initial-scratch-message nil + initial-buffer-choice t) + +(add-hook 'after-init-hook + (lambda () + (setq default-directory "~/"))) |
