blob: 7754449cca1b5d4f607ca585525ebe69a1964af1 (
plain) (
tree)
|
|
(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)
|