(require 'uniquify) ; ## Generic settings ## ;; Make Helm go! (require 'helm-config) ;; Enable fuzzy matching in Helm. ;; The wiki recommends the first two options for globally enabling fuzzy ;; matching, however this does not actually work. ;; Setting all the options helps! (setq helm-mode-fuzzy-match t helm-completion-in-region-fuzzy-match t helm-M-x-fuzzy-match t helm-buffers-fuzzy-matching t ) (global-set-key (kbd "M-x") #'helm-M-x) (global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) (global-set-key (kbd "C-x C-f") #'helm-find-files) (helm-mode 1) ;; Hide those ugly tool bars (tool-bar-mode 0) (scroll-bar-mode 0) (menu-bar-mode 0) ;; Now that I have nice wallpapers, let me see them. (set-frame-parameter (selected-frame) 'alpha '(97 . 95)) (add-to-list 'default-frame-alist '(alpha . (97 . 95))) (defun disable-scroll-bar () (scroll-bar-mode 0)) ; And remember to do it if I create a new frame. (add-hook 'before-make-frame-hook 'disable-scroll-bar) ;; Don't make any noises, don't flash, just leave me alone (setq ring-bell-function 'ignore) ;; Go away go away (setq initial-scratch-message "") (setq gc-cons-threshold 20000000) (setq uniquify-buffer-name-style 'forward) ;; Give me column numbers (column-number-mode t) ;; Bash is the reliable one here (setq multi-term-program "/bin/bash") ;;; Code: (add-to-list 'exec-path "/usr/local/bin") (add-to-list 'exec-path (expand-file-name "~/bin")) ;; Stack installs here: (add-to-list 'exec-path (expand-file-name "~/.local/bin")) (when window-system (setq frame-title-format '(buffer-file-name "%f" ("%b"))) (tooltip-mode -1) (mouse-wheel-mode t) (blink-cursor-mode -1)) ; Fix some defaults (setq visible-bell nil inhibit-startup-message t color-theme-is-global t sentence-end-double-space nil shift-select-mode nil mouse-yank-at-point t uniquify-buffer-name-style 'forward whitespace-style '(face trailing lines-tail tabs) whitespace-line-column 80 default-directory "~" fill-column 80 ediff-window-setup-function 'ediff-setup-windows-plain ediff-diff-options "-w" ediff-split-window-function 'split-window-horizontally oddmuse-directory (concat user-emacs-directory "oddmuse") save-place-file (concat user-emacs-directory "places") backup-directory-alist `((,(concat user-emacs-directory "backups"))) diff-switches "-u") ;; Fix keys on Linux (if is-linux (setq x-super-keysym 'meta x-alt-keysym 'alt)) (add-to-list 'safe-local-variable-values '(lexical-binding . t)) (add-to-list 'safe-local-variable-values '(whitespace-line-column . 80)) (set-default 'indent-tabs-mode nil) ;; UTF-8 please (setq locale-coding-system 'utf-8) ; pretty (set-terminal-coding-system 'utf-8) ; pretty (set-keyboard-coding-system 'utf-8) ; pretty (set-selection-coding-system 'utf-8) ; please (prefer-coding-system 'utf-8) ; with sugar on top (require 'ffap) (defalias 'yes-or-no-p 'y-or-n-p) (defalias 'auto-tail-revert-mode 'tail-mode) ;; ## Look and feel ## ;; Themes! (global-hl-line-mode -1) (setq default-frame-alist '((font-backend . "xft") (font . "Input Mono-12"))) (set-default-font "Input Mono 12") ;; Style line numbers (shown with M-g g) (setq linum-format (lambda (line) (propertize (format (concat " %" (number-to-string (length (number-to-string (line-number-at-pos (point-max))))) "d ") line) 'face 'linum))) ;; Use clipboard properly (setq x-select-enable-clipboard t) ;; Auto refresh buffers (global-auto-revert-mode 1) ;; Also auto refresh dired, but be quiet about it (setq global-auto-revert-non-file-buffers t) (setq auto-revert-verbose nil) ;; Show keystrokes in progress (setq echo-keystrokes 0.1) ;; Move files to trash when deleting (setq delete-by-moving-to-trash t) ;; Make emacs behave sanely (overwrite selected text) (delete-selection-mode 1) ;; ## Navigation and key bindings ## (setq windmove-wrap-around t) ;; Load ace-jump-mode (autoload 'ace-jump-mode "ace-jump-mode" "Emacs quick move minor mode" ) (define-key global-map [?] 'ace-jump-mode) ;; Quick jump back (autoload 'ace-jump-mode-pop-mark "ace-jump-mode" "Ace jump back:-)" ) (eval-after-load "ace-jump-mode" '(ace-jump-mode-enable-mark-sync)) (define-key global-map (kbd "C-x รถ") 'ace-jump-mode-pop-mark) ;; Keep your backup files in tmp, emacs! (setq backup-directory-alist `((".*" . ,temporary-file-directory))) (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) ;; Eshell ;; Start/join (global-set-key (kbd "C-x m") 'eshell) ;; Always start (global-set-key (kbd "C-x M") (lambda () (interactive) (eshell t))) ;; Git (global-set-key (kbd "C-c g") 'magit-status) (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) ;; Display tabs as 4 spaces (setq default-tab-width 4) ;; Use CUPS (setq lpr-command "xpp") (provide 'settings)