Paste number 340427: dotemacs

Paste number 340427: dotemacs
Pasted by: fiddlerwoaroof
When:8 years, 1 week ago
Share:Tweet this! | http://paste.lisp.org/+7AOB
Channel:None
Paste contents:
Raw Source | XML | Display As
(require 'package) ;; You might already have this line

(add-to-list 'package-archives
	     '("melpa" . "https://melpa.org/packages/"))

(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))

(package-initialize) ;; You might already have this line
(require 'helm-config)
(helm-mode)
(require 'evil-numbers)
(require 'evil-nerd-commenter)
(load-theme 'tango-dark)
(require 'projectile)
(projectile-mode)

(evilnc-default-hotkeys)

(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")

(slime-setup '(slime-fancy slime-macrostep slime-company))

(evil-mode)
(paredit-mode)
(evil-paredit-mode)
(rainbow-delimiters-mode)

(global-linum-mode)
(setq linum-format "%5d\u2502")

(global-set-key (kbd "C-x C-f") 'helm-find-files)

(global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)
(global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt)

(global-set-key (kbd "M-x") 'helm-M-x)

(define-key evil-normal-state-map " f" 'helm-projectile)
(define-key evil-normal-state-map " j" 'helm-buffers-list)

(define-key evil-normal-state-map "ZZ" 'save-buffer)

(defun paredit-wiggle-back ()
  (paredit-forward)
  (paredit-backward))

(defmacro defparedit-wrapper (name invoked-wrapper)
  `(defun ,name ()
     (interactive)
     (paredit-wiggle-back)
     (,invoked-wrapper)))

(defparedit-wrapper back-then-wrap paredit-wrap-sexp)
(defparedit-wrapper back-then-wrap-square paredit-wrap-square)
(defparedit-wrapper back-then-wrap-curly paredit-wrap-curly)
(defparedit-wrapper back-then-wrap-angled paredit-wrap-angled)
(defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote)

(define-key evil-normal-state-map ",W" 'back-then-wrap)
(define-key evil-normal-state-map ",w]" 'back-then-wrap-square)
(define-key evil-normal-state-map ",w}" 'back-then-wrap-curly)
(define-key evil-normal-state-map ",w>" 'back-then-wrap-angled)
(define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote)

(define-key evil-normal-state-map ",S" 'paredit-splice-sexp)
(define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward)
(define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward)
(define-key evil-normal-state-map ",|" 'paredit-split-sexp)
(define-key evil-normal-state-map ",J" 'paredit-join-sexps)
(define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp)
(define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp) 
(define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp)
(define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp) 
(define-key evil-normal-state-map ",~" 'paredit-convolute-sexp)

(define-key evil-normal-state-map ",zz" 'zeal-at-point)

(modify-syntax-entry ?_ "w" js-mode-syntax-table)
(modify-syntax-entry ?- "w" lisp-mode-syntax-table)
(modify-syntax-entry ?* "w" lisp-mode-syntax-table)
(modify-syntax-entry ?+ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?! "w" lisp-mode-syntax-table)
(modify-syntax-entry ?$ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?& "w" lisp-mode-syntax-table)
(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
(modify-syntax-entry ?= "w" lisp-mode-syntax-table)
(modify-syntax-entry ?< "w" lisp-mode-syntax-table)
(modify-syntax-entry ?> "w" lisp-mode-syntax-table)
(modify-syntax-entry ?@ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?[ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?] "w" lisp-mode-syntax-table)
(modify-syntax-entry ?^ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?_ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?~ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?{ "w" lisp-mode-syntax-table)
(modify-syntax-entry ?} "w" lisp-mode-syntax-table)
(modify-syntax-entry ?. "w" lisp-mode-syntax-table)

(defun slime-ecl ()
  (interactive)
  (let ((inferior-lisp-program "ecl"))
    (slime)))

(defun slime-cmucl ()
  (interactive)
  (let ((inferior-lisp-program "cmucl"))
    (slime)))

(defun slime-sbcl ()
  (interactive)
  (let ((inferior-lisp-program "sbcl"))
    (slime)))

(defun slime-ccl ()
  (interactive)
  (let ((inferior-lisp-program "ccl"))
    (slime)))

(add-hook 'after-init-hook 'global-company-mode)
(add-hook 'lisp-mode-hook
	  '(lambda ()
	     (define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol)
	     (paredit-mode)
	     (evil-paredit-mode)))

(add-hook 'ruby-mode-hook
	  '(lambda ()
	     (eldoc-mode)
	     (robe-mode)))


(add-hook 'clojure-mode-hook
	  '(lambda ()
	     ;; Hoplon functions and macros
	     (paredit-mode)
	     (define-key evil-insert-state-map "^N" 'helm-cider-apropos)
	     (dolist (pair '((page . 'defun)
			     (loop-tpl . 'defun)
			     (if-tpl . '1)
			     (for-tpl . '1)
			     (case-tpl . '1)
			     (cond-tpl . 'defun)))
	       (put-clojure-indent (car pair)
				   (car (last pair))))))

(require 'editorconfig)
(editorconfig-mode 1)

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.