Last active
February 16, 2016 16:26
-
-
Save farleyknight/a8090d5408131620c917 to your computer and use it in GitHub Desktop.
Simple .emacs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;;; Add a reasonable load path | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/lisp") | |
;;;; Save desktop session | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; (desktop-save-mode 1) | |
;;;; MELPA | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'package) | |
(add-to-list 'package-archives | |
'("melpa" . "https://melpa.org/packages/")) | |
(package-initialize) | |
;;;; Multi-term | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'multi-term) | |
;;;; Highlight tabs | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'highlight-chars) | |
(add-hook 'css-mode-hook 'hc-highlight-tabs) | |
(add-hook 'ruby-mode-hook 'hc-highlight-tabs) | |
(add-hook 'js-mode-hook 'hc-highlight-tabs) | |
(add-hook 'javascript-mode-hook 'hc-highlight-tabs) | |
;;;; Always use spaces (not tabs) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq-default indent-tabs-mode nil) | |
;;;; Disable toolbar | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(tool-bar-mode -1) | |
;;;; Color themes | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(custom-set-variables | |
;; custom-set-variables was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(custom-enabled-themes (quote (deeper-blue)))) | |
(custom-set-faces | |
;; custom-set-faces was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
) | |
;;;; Magit setup | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-to-list 'load-path "~/.emacs.d/site-lisp/magit/lisp") | |
(require 'magit) | |
(with-eval-after-load 'info | |
(info-initialize) | |
(add-to-list 'Info-directory-list | |
"~/.emacs.d/site-lisp/magit/Documentation/")) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
;;;; Haml mode | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'haml-mode) | |
(add-to-list 'auto-mode-alist '("\\.haml\\'" . haml-mode)) | |
;;;; Yaml mode | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'yaml-mode) | |
(add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode)) | |
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)) | |
;;;; CSS mode | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq css-indent-offset 2) | |
(add-to-list 'auto-mode-alist '("\\.scss\\'" . css-mode)) | |
;;;; Remove trailing whitespace on save | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(add-hook 'before-save-hook 'delete-trailing-whitespace) | |
;;;; JavaScript mode | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq js-indent-level 2) | |
;;;; Windmove | |
;;;; Move between split window frames by holding shift | |
;;;; and pressing the arrow keys | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(windmove-default-keybindings) | |
;;;; Unbind Pesky Sleep Button | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(global-unset-key [(control z)]) | |
(global-unset-key [(control x)(control z)]) | |
;;;; rename-file-and-buffer | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; source: http://steve.yegge.googlepages.com/my-dot-emacs-file | |
(defun rename-file-and-buffer (new-name) | |
"Renames both current buffer and file it's visiting to NEW-NAME." | |
(interactive "sNew name: ") | |
(let ((name (buffer-name)) | |
(filename (buffer-file-name))) | |
(if (not filename) | |
(message "Buffer '%s' is not visiting a file!" name) | |
(if (get-buffer new-name) | |
(message "A buffer named '%s' already exists!" new-name) | |
(progn | |
(rename-file name new-name 1) | |
(rename-buffer new-name) | |
(set-visited-file-name new-name) | |
(set-buffer-modified-p nil)))))) | |
;;;; No more ~ files (backup files all over the project) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq | |
backup-by-copying t ; don't clobber symlinks | |
backup-directory-alist | |
'(("." . "~/.saves")) ; don't litter my fs tree | |
delete-old-versions t | |
kept-new-versions 6 | |
kept-old-versions 2 | |
version-control t) ; use versioned backups | |
;;;; Automatically refresh buffer when it changes on disk (useful for | |
;;;; changing branches or watching log files) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(global-auto-revert-mode 1) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment