Skip to content

Instantly share code, notes, and snippets.

@cfebs
Created September 16, 2012 15:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cfebs/3732955 to your computer and use it in GitHub Desktop.
Save cfebs/3732955 to your computer and use it in GitHub Desktop.
nub emacs config
;;require 'package)
;;(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
;;(package-initialize)
(add-to-list 'load-path "~/.emacs.d/")
(let ((default-directory "~/.emacs.d/src/"))
(normal-top-level-add-subdirs-to-load-path))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; native stuff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(menu-bar-mode -1)
(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
ediff-window-setup-function 'ediff-setup-windows-plain
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")
(add-to-list 'safe-local-variable-values '(lexical-binding . t))
(add-to-list 'safe-local-variable-values '(whitespace-line-column . 80))
;; Highlight matching parentheses when the point is on them.
(show-paren-mode 1)
;; ido-mode is like magic pixie dust!
(ido-mode t)
(setq ido-enable-prefix nil
ido-enable-flex-matching t
ido-auto-merge-work-directories-length nil
ido-create-new-buffer 'always
ido-use-filename-at-point 'guess
ido-use-virtual-buffers t
ido-handle-duplicate-virtual-buffers 2
ido-max-prospects 10)
;; enable org-mode
(require 'org)
;; make org-mode work with files ending in .org
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
;;;; Package manager config, near the bottom so at least ido initializes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; EVIL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'evil)
(evil-mode 1)
(setcdr evil-insert-state-map nil)
;; but [escape] should switch back to normal state
(define-key evil-insert-state-map [escape] 'evil-normal-state)
(define-key evil-insert-state-map (kbd "C-]") 'evil-normal-state)
(define-key evil-insert-state-map "k" #'cofi/maybe-exit)
(evil-define-command cofi/maybe-exit ()
:repeat change
(interactive)
(let ((modified (buffer-modified-p)))
(insert "k")
(let ((evt (read-event (format "Insert %c to exit insert state" ?j)
nil 0.5)))
(cond
((null evt) (message ""))
((and (integerp evt) (char-equal evt ?j))
(delete-char -1)
(set-buffer-modified-p modified)
(push 'escape unread-command-events))
(t (setq unread-command-events (append unread-command-events
(list evt))))))))
;; save a billion keystrokes and never shift ':' again in normal
(define-key evil-normal-state-map ";" 'evil-ex)
;; emacs ido file find
(define-key evil-normal-state-map ",t" 'ido-find-file)
;; emacs ido buffer list anything
(define-key evil-normal-state-map ",b" 'ido-switch-buffer)
;; C-g shortcut
(define-key evil-normal-state-map ",g" 'keyboard-quit)
(define-key evil-normal-state-map ",eb" 'lab-eval)
(defun lab-eval ()
"Evals really nice like, then tells you about it"
(interactive)
(eval-buffer)
(message "Eval'd like a boss"))
;; COLORS
;;(load-theme 'solarized-dark t)
(require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(require 'color-theme-solarized)
(color-theme-solarized-dark)
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment