2015-01-30 05:10:28 +00:00
( add-to-list 'load-path " ~/.emacs.d/elisp/ " )
( add-to-list 'load-path " ~/.emacs.d/elisp-git/evil/ " )
( add-to-list 'load-path " ~/.emacs.d/elisp-git/window-numbering/ " )
( add-to-list 'load-path " ~/.emacs.d/elisp-git/evil-snipe/ " )
( add-to-list 'load-path " ~/.emacs.d/elisp-git/git-modes/ " )
( add-to-list 'load-path " ~/.emacs.d/elisp-git/magit/ " )
2015-03-23 22:06:00 +00:00
( add-to-list 'load-path " ~/.emacs.d/elisp-git/yafolding.el/ " )
2015-03-23 22:38:03 +00:00
( add-to-list 'load-path " ~/.emacs.d/elisp-git/god-mode/ " )
2015-01-30 05:10:28 +00:00
( add-to-list 'load-path " ~/.emacs.d/user/ " )
2014-10-06 15:37:29 +00:00
;;;; UTF-8 magic
2014-09-29 18:37:30 +00:00
( setq locale-coding-system 'utf-8 )
( set-terminal-coding-system 'utf-8 )
( set-keyboard-coding-system 'utf-8 )
( set-selection-coding-system 'utf-8 )
( prefer-coding-system 'utf-8 )
2014-10-06 15:37:29 +00:00
;;;; Simplify the GUI, thanks http://www.masteringemacs.org/articles/2010/10/04/beginners-guide-to-emacs/
2014-09-29 18:37:30 +00:00
( menu-bar-mode -1 )
( tool-bar-mode -1 )
( scroll-bar-mode -1 )
2015-03-23 16:31:39 +00:00
( setq focus-follows-mouse t )
( setq mouse-autoselect-window t )
2014-10-06 15:37:29 +00:00
2015-01-30 21:49:15 +00:00
;;;; Disable linewrapping
( defun line-trunc-set ( )
2015-03-23 22:53:56 +00:00
( visual-line-mode -1 )
;(setq-default truncate-partial-width-windows t)
;(setq-default truncate-lines t))
( setq truncate-partial-width-windows t )
( setq truncate-lines t ) )
;(add-hook 'text-mode-hook 'line-trunc-set)
2015-01-30 21:49:15 +00:00
( add-hook 'emacs-lisp-mode-hook 'line-trunc-set )
2015-03-23 22:53:56 +00:00
( add-hook 'org-mode-hook 'visual-line-mode )
( add-hook 'erc-mode-hook 'visual-line-mode )
;(global-set-key (kbd "C-x t") 'toggle-truncate-lines)
( global-set-key ( kbd " C-x t " ) 'visual-line-mode )
( global-visual-line-mode 1 )
2015-01-30 21:49:15 +00:00
2014-10-06 15:37:29 +00:00
;;;; Tab settings
2014-09-29 18:37:30 +00:00
( setq default-tab-width 4 )
2015-01-30 05:11:52 +00:00
;(define-key text-mode-map (kbd "TAB") 'self-insert-command)
( setq-default indent-tabs-mode nil )
2014-10-06 15:37:29 +00:00
;;;; Fix scrolling
2015-03-24 06:09:37 +00:00
( setq scroll-conservatively 10000
scroll-preserve-screen-position t )
2015-01-30 23:10:31 +00:00
( setq auto-window-vscroll nil )
2014-10-06 15:37:29 +00:00
2015-03-23 21:32:55 +00:00
;;; Recenter screen on isearch matches
( add-hook 'isearch-mode-hook 'recenter )
( add-hook 'isearch-update-post-hook 'recenter )
( defadvice isearch-repeat-forward
( after isearch-repeat-forward-recenter activate )
( recenter ) )
( defadvice isearch-repeat-backward
( after isearch-repeat-backward-recenter activate )
( recenter ) )
( ad-activate 'isearch-repeat-forward )
( ad-activate 'isearch-repeat-backward )
;;;; While we're at it, let's add that to next-error as well
;;;; (this affects jumping to match from M-x grep , too)
( add-hook 'next-error-hook 'recenter )
;;;; ...and to magit-toggle-section
;;; It'd be really cool to (recenter 3) when you /open/ a section,
;;; and (recenter) when you close a section
( defadvice magit-toggle-section
( after magit-toggle-section-recenter activate )
( recenter 3 ) )
( ad-activate 'magit-toggle-section )
( defadvice magit-unstage-item
( after magit-unstage-item-move )
( next-line ) )
( ad-activate 'magit-unstage-item )
2014-10-06 15:37:29 +00:00
;;;; Fix Emacs' definition of a sentence
2014-09-29 18:37:30 +00:00
( setq sentence-end-double-space nil )
2014-10-06 15:37:29 +00:00
2015-01-30 23:04:59 +00:00
;;;; Highlight current line
2014-09-29 18:37:30 +00:00
( global-hl-line-mode 1 )
2014-10-06 15:37:29 +00:00
2015-03-23 22:40:55 +00:00
;;;; Saner Emacs editing
( global-set-key ( kbd " C-h " ) 'backward-delete-char )
( define-key isearch-mode-map ( kbd " C-h " ) 'isearch-delete-char )
2014-09-29 18:37:30 +00:00
( global-set-key ( kbd " C-y " ) 'whole-line-or-region-yank )
2015-03-23 22:40:55 +00:00
( global-set-key ( kbd " M-w " ) 'whole-line-or-region-kill-ring-save )
;(global-set-key (kbd "C-w") 'whole-line-or-region-kill-region)
( global-set-key ( kbd " C-w " ) 'backward-kill-word )
( global-set-key ( kbd " C-x C-k C-l " ) 'whole-line-or-region-kill-region )
( global-set-key ( kbd " C-, " ) 'backward-paragraph )
( global-set-key ( kbd " C-. " ) 'forward-paragraph )
( global-set-key ( kbd " C-< " ) 'beginning-of-buffer )
( global-set-key ( kbd " C-> " ) 'end-of-buffer )
( setq dired-bind-jump nil )
( global-set-key ( kbd " C-x C-j " ) 'join-line )
( global-set-key ( kbd " C-x C-b " ) 'eval-buffer )
( global-set-key ( kbd " C-x C-l " ) 'helm-mini )
( defun kill-line-0 ( )
( interactive )
( kill-line 0 ) )
;;;; Look Mom, a bug! paredit-kill with a zero arg can unbalance parens...
( defun paredit-kill-0 ( )
( interactive )
( paredit-kill 0 ) )
( global-set-key ( kbd " C-u " ) 'kill-line-0 )
;; C-z (suspend-frame) is utterly useless and disruptive - good place to put universal-argument
( global-unset-key ( kbd " C-z " ) )
( global-set-key ( kbd " C-z " ) 'universal-argument )
;; (defun contrapunctus-kill-line (&optional arg)
;; (interactive)
;; (if arg
;; (if mark-active
;; (kill-region arg)
;; (kill-line arg))
;; (if mark-active
;; (kill-region)
;; (kill-line))))
;; (global-set-key (kbd "C-k") 'contrapunctus-kill-line)
;; Chris Done (god-mode) recommends this, but Emacs' repeat command is almost useless...
;; (global-set-key (kbd "C-.") 'repeat)
;;;; I like the transpose commands
( global-unset-key ( kbd " C-t " ) )
( global-set-key ( kbd " C-t C-c " ) 'transpose-chars )
( global-set-key ( kbd " C-t C-w " ) 'transpose-words )
( global-set-key ( kbd " C-t C-l " ) 'transpose-lines )
( global-set-key ( kbd " C-t C-s " ) 'transpose-sentences )
;; C-t C-x could also be a good choice
( global-set-key ( kbd " C-t C-e " ) 'transpose-sexps )
( global-set-key ( kbd " C-t C-p " ) 'transpose-paragraphs )
;;;; Vim-style prompt-less tag jumping
;;;; http://stackoverflow.com/questions/12074897/automatically-jump-to-tag-in-emacs
( defun find-tag-no-prompt ( )
" Jump to the tag at point without prompting "
( interactive )
( find-tag ( find-tag-default ) ) )
( global-set-key ( kbd " M-. " ) 'find-tag-no-prompt )
;;;; Custom keys
2014-09-29 18:37:30 +00:00
( global-set-key ( kbd " C-x C-1 " ) 'delete-other-windows )
( global-set-key ( kbd " C-x C-2 " ) 'split-window-below )
( global-set-key ( kbd " C-x C-3 " ) 'split-window-right )
( global-set-key ( kbd " C-x C-0 " ) 'delete-window )
2015-03-23 22:40:55 +00:00
( global-set-key ( kbd " C-x C-4 C-f " ) 'find-file-other-window )
2014-09-29 18:37:30 +00:00
;(global-set-key (kbd "C-`") 'point-to-register)
;(global-set-key (kbd "C-'") 'jump-to-register)
2015-03-23 22:40:55 +00:00
( global-set-key ( kbd " C-x C-d " ) 'dired-jump )
2015-01-30 23:10:11 +00:00
( global-set-key ( kbd " C-x l " ) 'helm-mini )
;(global-set-key (kbd "C-x l") 'recentf-open-files)
2014-09-29 18:37:30 +00:00
;(global-set-key (kbd "C-x") 'backward-kill-word)
;(global-set-key (kbd "C-,") 'string-rectangle 'TAB)
2014-10-06 10:56:18 +00:00
( global-unset-key ( kbd " C-x d " ) )
( global-set-key ( kbd " C-x df " ) 'delete-frame )
2014-10-07 05:23:28 +00:00
;;;; make-frame key is after Helm's config
2015-01-30 23:10:11 +00:00
( global-set-key ( kbd " C-x z " ) 'switch-to-buffer )
( global-set-key ( kbd " C-x b " ) 'eval-buffer )
( global-unset-key ( kbd " C-c s " ) )
2015-03-24 06:06:58 +00:00
( global-set-key ( kbd " C-x O " ) 'org-mode )
2015-03-23 22:15:47 +00:00
;(setq compilation-read-command nil)
( global-set-key ( kbd " M-c " ) 'compile )
( global-set-key ( kbd " <f2> " ) 'run-scheme )
( global-set-key ( kbd " <f3> " ) 'run-lisp )
2015-03-24 06:06:58 +00:00
;;;; Just hit y or n to answer yes or no prompts! Shiny!
( defalias 'yes-or-no-p 'y-or-n-p )
( setq backup-by-copying t
backup-directory-alist
' ( ( " . " . " ~/.emacs.d/saves/ " ) )
delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t )
2015-01-30 23:10:11 +00:00
2014-10-06 15:37:29 +00:00
;;;; Fix multi-line indenting - thanks forcer!
;(defun hn/add-tab-in-front-of-every-line-in-region (beg end) (interactive "r")
;(save-excursion (goto-char beg) (goto-char (point-at-bol)) (while (re-search-forward "^" end t) (insert "\t"))))
;(global-set-key (kbd "C-.") 'hn/add-tab-in-front-of-every-line-in-region)
;;;; Indicate god-mode with cursor color
2014-10-06 06:44:58 +00:00
;(defun my-update-cursor ()
;(set-cursor-color
;(if (or god-local-mode buffer-read-only) "#ffffff" "#ff0000")))
;(add-hook 'god-mode-enabled-hook 'my-update-cursor)
;(add-hook 'god-mode-disabled-hook 'my-update-cursor)
2014-10-06 15:37:29 +00:00
;;;; Transparent Emacs window
2014-09-29 18:37:30 +00:00
;;(set-frame-parameter (selected-frame) 'alpha '(<active> [<inactive>]))
2014-10-06 06:44:58 +00:00
;(set-frame-parameter (selected-frame) 'alpha '(90 50))
;(add-to-list 'default-frame-alist '(alpha 90 50))
2014-10-06 15:37:29 +00:00
;;;; MELPA
2015-01-30 21:50:27 +00:00
;(require 'package)
;(add-to-list 'package-archives
; '("melpa" . "http://melpa.milkbox.net/packages/") t)
;(require 'package)
;(add-to-list 'package-archives
; '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t)
2015-03-23 22:15:47 +00:00
( setq scheme-program-name " csi -:c " )
( setq comint-prompt-read-only t )
2015-03-23 22:08:10 +00:00
( setq browse-url-browser-function 'browse-url-xdg-open )
2015-01-30 21:50:27 +00:00
;;;; Marmalade
2014-09-29 18:37:30 +00:00
( require 'package )
( add-to-list 'package-archives
2015-01-30 21:50:27 +00:00
' ( " marmalade " . " https://marmalade-repo.org/packages/ " ) )
2014-10-06 15:37:29 +00:00
2014-09-29 18:37:30 +00:00
;//// //// //// //// //// ////
;//// PACKAGE INITIALIZE ////
;//// //// //// //// //// ////
( package-initialize )
2014-10-06 15:37:29 +00:00
;;;; Set theme
2015-03-23 22:43:09 +00:00
;(load-theme 'distinguished t)
;(require 'github-theme)
;(require 'heroku-theme)
;;;; Good theme but uses different font sizes in org-mode, and (I think) some weird non-monospace font
;(require 'monokai-theme)
( require 'molokai-theme )
2014-10-06 15:37:29 +00:00
2015-03-23 22:15:47 +00:00
;;;; chicken.el
( require 'chicken )
2014-10-06 15:37:29 +00:00
;;;; God Mode
2015-03-23 22:38:03 +00:00
( require 'god-mode )
( global-set-key ( kbd " <escape> " ) 'god-local-mode )
( god-mode-all )
( defun my-update-cursor ( )
( setq cursor-type ( if ( or god-local-mode buffer-read-only )
'box
'bar ) ) )
( add-hook 'god-mode-enabled-hook 'my-update-cursor )
( add-hook 'god-mode-disabled-hook 'my-update-cursor )
2014-10-06 15:37:29 +00:00
;;;; Evil mode
2014-09-29 18:37:30 +00:00
( require 'evil )
2015-03-23 22:38:03 +00:00
;(evil-mode 1)
2015-01-30 23:15:49 +00:00
;; Want something to switch between evil and god-model, instead of this.
;; They say there's a plugin for it...
2015-03-23 22:38:03 +00:00
( global-set-key ( kbd " C-x e " ) 'evil-mode )
;(define-key evil-normal-state-map (kbd "<tab>") 'forward-button)
2015-01-30 23:15:49 +00:00
( define-key evil-normal-state-map " zR " 'yafolding-show-all )
( define-key evil-normal-state-map " zM " 'yafolding-hide-all )
( define-key evil-normal-state-map " zo " 'yafolding-show-element )
( define-key evil-normal-state-map " zc " 'yafolding-hide-element )
;(global-set-key (kbd "g C-g") 'count-words-region)
2015-01-30 23:17:00 +00:00
; The story so far - in evil-normal-state-map, I set 'i' to evil-previous-visual-line, 'k' to evil-next-visual-line, 'j' to evil-backward-char. Note that I forgot to set 'h' to insert at first...but that's not all - later I realized this didn't affect Visual mode :p 4 more lines for that. Next...d/c didn't work with ijkl. 4 more lines for evil-operator-state-map. After that - you usually want visual-line up/down movement, but _not_ when you hit d-j/k (or d-i/k)! So, in evil-operator-state-map, i and k are now vanilla evil-previous/next-line. Set gi/gk to evil-previous/next-line in normal and visual states, and to evil-previous/next-visual-line in operator state - 2 new lines to each group of 4.
2015-03-23 21:31:13 +00:00
( define-key evil-normal-state-map " gi " 'evil-previous-visual-line )
( define-key evil-normal-state-map " gk " 'evil-next-visual-line )
( define-key evil-normal-state-map " i " 'evil-previous-line )
( define-key evil-normal-state-map " k " 'evil-next-line )
2015-01-30 23:17:00 +00:00
( define-key evil-normal-state-map " j " 'evil-backward-char )
( define-key evil-normal-state-map " h " 'evil-insert )
2015-03-23 21:31:13 +00:00
( define-key evil-visual-state-map " gi " 'evil-previous-visual-line )
( define-key evil-visual-state-map " gk " 'evil-next-visual-line )
( define-key evil-visual-state-map " i " 'evil-previous-line )
( define-key evil-visual-state-map " k " 'evil-next-line )
2015-01-30 23:17:00 +00:00
( define-key evil-visual-state-map " j " 'evil-backward-char )
( define-key evil-visual-state-map " h " 'evil-insert )
( define-key evil-operator-state-map " gi " 'evil-previous-visual-line )
( define-key evil-operator-state-map " gk " 'evil-next-visual-line )
2015-03-23 21:31:13 +00:00
( define-key evil-operator-state-map " i " 'evil-previous-line )
( define-key evil-operator-state-map " k " 'evil-next-line )
2015-01-30 23:17:00 +00:00
( define-key evil-operator-state-map " j " 'evil-backward-char )
;(define-key evil-operator-state-map "h" 'evil-insert)
; evil-inner-tag ?
( define-key evil-operator-state-map " hW " 'evil-inner-WORD )
( define-key evil-operator-state-map " hw " 'evil-inner-word )
( define-key evil-operator-state-map " h \( " 'evil-inner-paren )
( define-key evil-operator-state-map " h \) " 'evil-inner-paren )
( define-key evil-operator-state-map " h \{ " 'evil-inner-curly )
( define-key evil-operator-state-map " h \} " 'evil-inner-curly )
( define-key evil-operator-state-map " h< " 'evil-inner-angle )
( define-key evil-operator-state-map " h> " 'evil-inner-angle )
( define-key evil-operator-state-map " h \[ " 'evil-inner-bracket )
( define-key evil-operator-state-map " h \] " 'evil-inner-bracket )
( define-key evil-operator-state-map " hs " 'evil-inner-sentence )
( define-key evil-operator-state-map " hp " 'evil-inner-paragraph )
( define-key evil-operator-state-map " h ` " 'evil-inner-back-quote )
( define-key evil-operator-state-map " h \" " 'evil-inner-double-quote )
( define-key evil-operator-state-map " h' " 'evil-inner-single-quote )
2014-10-06 15:37:29 +00:00
2015-03-23 21:31:13 +00:00
( define-key evil-motion-state-map " gi " 'evil-previous-visual-line )
( define-key evil-motion-state-map " gk " 'evil-next-visual-line )
;;;; set C-h to backspace when editing commands and searching
( defun kill-start-of-line ( ) " Kill from point to start of line. "
( interactive )
( kill-line 0 ) )
( define-key evil-insert-state-map ( kbd " C-u " ) 'kill-start-of-line )
2015-03-23 21:35:14 +00:00
;;;; evil-snipe
( require 'evil-snipe )
;(define-key evil-normal-state-map "f" 'evil-snipe-s)
;(define-key evil-operator-state-map "f" 'evil-snipe-s)
;(define-key evil-motion-state-map "f" 'evil-snipe-s)
;
;(define-key evil-normal-state-map "F" 'evil-snipe-S)
;(define-key evil-operator-state-map "F" 'evil-snipe-S)
;(define-key evil-motion-state-map "F" 'evil-snipe-S)
;
;(define-key evil-normal-state-map "s" 'evil-substitute)
;(define-key evil-normal-state-map "S" 'evil-change-whole-line)
( setq evil-snipe-count-scope 'letters )
;;;; s<RET>, S<RET>, ; and , don't work with this
;(setq evil-snipe-scope 'buffer)
;;;; This doesn't take two chars by default, which combined with unimplemented evil-snipe-count-scope 'vertical makes it nearly useless as a replacement for fFtT;
( evil-snipe-replace-evil )
;;;; buggy :(
;(setq evil-snipe-count-scope 'letters)
;;;; not implemented Q_Q
;(setq evil-snipe-count-scope 'vertical)
( global-evil-snipe-mode 1 )
2015-03-23 21:39:28 +00:00
;;;; org
( require 'org )
; evil-ify org-mode
( define-key outline-mode-map ( kbd " M-c i " ) 'outline-up-heading )
( define-key outline-mode-map ( kbd " M-c j " ) 'org-backward-heading-same-level )
( define-key outline-mode-map ( kbd " M-c l " ) 'org-forward-heading-same-level )
( define-key outline-mode-map ( kbd " M-c n " ) 'outline-next-visible-heading )
( define-key outline-mode-map ( kbd " M-c p " ) 'outline-previous-visible-heading )
( setq org-M-RET-may-split-line 'nil )
( add-hook 'org-mode-hook 'org-display-inline-images )
2014-10-06 15:37:29 +00:00
;;;; Ace Jump mode
2015-03-23 21:58:12 +00:00
( require 'ace-jump-mode )
;(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
( define-key evil-normal-state-map ( kbd " M-SPC " ) 'ace-jump-mode )
( global-set-key ( kbd " M-SPC " ) 'ace-jump-mode )
2014-10-06 15:37:29 +00:00
2015-03-23 22:08:10 +00:00
;;;; launch-files
( require 'launch )
( add-hook 'dired 'turn-on-launch-mode )
( global-set-key ( kbd " M-l " ) 'launch-files-dired )
2015-01-30 23:04:59 +00:00
;;;; relative-line-numbers
( require 'relative-line-numbers )
;(setq relative-line-numbers-motion-function 'vertical-motion)
( setq relative-line-numbers-motion-function 'forward-visible-line )
( global-relative-line-numbers-mode 1 )
2014-10-06 15:37:29 +00:00
;;;; Helm
( require 'helm-config )
( require 'helm-grep )
2015-03-23 22:11:22 +00:00
( global-set-key ( kbd " C-c h " ) 'helm-mode )
2014-10-07 05:23:28 +00:00
( define-key helm-map ( kbd " C-h " ) 'backward-delete-char )
2015-03-23 22:11:22 +00:00
( define-key helm-map ( kbd " C-w " ) 'backward-kill-word )
2014-10-06 15:37:29 +00:00
( global-set-key ( kbd " M-x " ) 'helm-M-x )
2015-03-23 22:11:22 +00:00
( global-set-key ( kbd " <menu> " ) 'helm-M-x )
;(helm-mode 1)
( global-set-key ( kbd " C-c C-h " ) 'helm-command-prefix )
( global-set-key ( kbd " C-x cl " ) 'count-lines-page )
2014-10-07 05:23:28 +00:00
( global-set-key ( kbd " C-x cf " ) 'make-frame )
2015-03-23 22:11:22 +00:00
;(global-set-key (kbd "C-x cw") 'count-words-region)
;; stop making helm tab-complete in ERC
( setq helm-mode-no-completion-in-region-in-modes 'erc-mode )
( add-to-list 'helm-mode-no-completion-in-region-in-modes 'erc-mode )
( setq helm-mode-handle-completion-in-region 'nil )
2015-03-24 06:09:37 +00:00
;;;; Ediff stuff
( setq ediff-window-setup-function 'ediff-setup-windows-plain )
2015-03-23 21:45:26 +00:00
;;;; ERC
;(setq erc-log-channels-directory "~/.emacs.d/erc/logs/")
;(setq erc-log-write-after-insert t)
;(erc-fill-mode 'nil)
( require 'erc )
( define-key erc-mode-map ( kbd " M-c c " ) 'erc-iswitchb )
( define-key erc-mode-map ( kbd " M-c x " ) 'erc-track-switch-buffer )
;(define-key erc-mode-map (kbd "TAB") 'completion-at-point)
;(erc-fill-mode -1)
;(add-hook 'erc-join-hook (lambda () (erc-fill-mode -1)))
2015-03-24 06:09:37 +00:00
;;;; fullscreen-mode
( require 'fullscreen-mode )
( fullscreen-mode 1 )
2015-03-23 22:09:22 +00:00
;;;; magit
( require 'magit )
( global-set-key ( kbd " C-x m " ) 'magit-status )
2015-03-23 22:40:55 +00:00
( define-key magit-mode-map ( kbd " C-n " ) 'next-line )
( define-key magit-mode-map ( kbd " C-p " ) 'previous-line )
2015-03-23 22:56:08 +00:00
;;;; markdown-mode
( require 'markdown-mode )
( add-to-list 'auto-mode-alist ' ( " \\ .markdown \\ ' " . markdown-mode ) )
( add-to-list 'auto-mode-alist ' ( " \\ .md \\ ' " . markdown-mode ) )
2015-03-23 22:15:47 +00:00
;;;; mic-paren
( require 'mic-paren )
( paren-activate )
2015-03-23 22:36:39 +00:00
;;;; paredit-mode
( require 'paredit )
( add-hook 'emacs-lisp-mode-hook 'turn-off-evil-mode )
( add-hook 'lisp-mode-hook 'turn-off-evil-mode )
( add-hook 'scheme-mode-hook 'turn-off-evil-mode )
( add-hook 'inferior-scheme-mode-hook 'turn-off-evil-mode )
( add-hook 'emacs-lisp-mode-hook 'paredit-mode )
( add-hook 'lisp-mode-hook 'paredit-mode )
( add-hook 'scheme-mode-hook 'paredit-mode )
( add-hook 'inferior-scheme-mode-hook 'paredit-mode )
( global-set-key ( kbd " C-x C-p " ) 'paredit-mode )
2015-03-23 22:40:55 +00:00
( define-key paredit-mode-map ( kbd " C-p " ) 'paredit-backward-down )
( define-key paredit-mode-map ( kbd " C-n " ) 'paredit-forward-up )
( define-key paredit-mode-map ( kbd " C-b " ) 'paredit-backward )
( define-key paredit-mode-map ( kbd " C-f " ) 'paredit-forward )
( define-key paredit-mode-map ( kbd " C-u " ) 'paredit-backward-up )
( define-key paredit-mode-map ( kbd " C-d " ) 'paredit-forward-down )
( define-key comint-mode-map ( kbd " C-d " ) 'paredit-forward-down )
( define-key paredit-mode-map ( kbd " M-b " ) 'backward-char )
( define-key paredit-mode-map ( kbd " M-f " ) 'forward-char )
( define-key paredit-mode-map ( kbd " M-p " ) 'previous-line )
( define-key paredit-mode-map ( kbd " M-n " ) 'next-line )
( define-key paredit-mode-map ( kbd " M-u " ) 'paredit-kill-0 )
( define-key paredit-mode-map ( kbd " M-d " ) 'paredit-forward-delete )
( define-key paredit-mode-map ( kbd " C-M-b " ) 'backward-word )
( define-key paredit-mode-map ( kbd " C-M-f " ) 'forward-word )
( define-key paredit-mode-map ( kbd " C-M-u " ) 'upcase-word )
( define-key paredit-mode-map ( kbd " C-M-d " ) 'paredit-forward-kill-word )
( define-key paredit-mode-map ( kbd " C-M-p " ) nil )
( define-key paredit-mode-map ( kbd " C-M-n " ) nil )
( define-key comint-mode-map ( kbd " C-M-p " ) 'comint-previous-input )
( define-key comint-mode-map ( kbd " C-M-n " ) 'comint-next-input )
( define-key paredit-mode-map ( kbd " M-w " ) 'paredit-copy-as-kill )
( define-key paredit-mode-map ( kbd " C-h " ) 'paredit-backward-delete )
( define-key paredit-mode-map ( kbd " C-w " ) 'paredit-backward-kill-word )
2015-03-23 22:15:47 +00:00
;;;; quack
;(require 'quack)
2014-10-06 15:37:29 +00:00
2015-03-23 21:36:15 +00:00
;;;; recentf
2014-09-29 18:37:30 +00:00
( require 'recentf )
( recentf-mode 1 )
2015-03-23 21:36:15 +00:00
( setq recentf-max-menu-items 500 )
( setq recentf-max-saved-items nil )
( setq recentf-save-file " /home/anon/.emacs.d/recentf " )
2014-09-29 18:37:30 +00:00
( global-set-key " \C -x \ \C -r " 'recentf-open-files )
2014-10-06 15:37:29 +00:00
2015-03-24 06:09:37 +00:00
;;;; Session.el
( require 'session )
( add-hook 'after-init-hook 'session-initialize )
2014-10-06 15:37:29 +00:00
2015-03-23 22:15:47 +00:00
;;;; SLIME
( require 'slime )
;(slime-setup '(slime-fancy slime-banner))
( setq inferior-lisp-program " /usr/bin/sbcl " )
;;;; smartparens
;; (require 'smartparens)
;; (add-hook 'scheme-mode-hook 'smartparens-mode)
2014-10-06 15:37:29 +00:00
2015-03-23 22:08:10 +00:00
;;;; stumpwm-mode
( require 'stumpwm-mode )
;;;; sudo-edit
( require 'sudo-edit )
2014-10-06 15:37:29 +00:00
2015-03-24 06:09:37 +00:00
;;;; text size change
( set-face-attribute 'default nil :font " -outline-Bitstream Vera Sans Mono-normal-normal-normal-mono-12-*-*-*-c-*-iso8859-1 " )
2014-10-07 05:23:28 +00:00
;;;; Win-switch
2014-10-06 06:44:58 +00:00
( require 'win-switch )
( global-set-key " \C -xo " 'win-switch-dispatch )
2015-01-30 23:17:00 +00:00
( win-switch-setup-keys-ijkl )
( setq win-switch-idle-time 0.5 )
2014-10-06 06:44:58 +00:00
( setq win-switch-other-window-first nil )
2015-01-30 23:17:00 +00:00
;(setq win-switch-other-window-first nil)
2014-10-07 05:23:28 +00:00
2015-03-23 22:08:10 +00:00
;;;; window-numbering
( require 'window-numbering )
( window-numbering-mode 1 )
2014-10-08 21:12:12 +00:00
2015-01-30 23:01:07 +00:00
;;;; yafolding.el
2015-03-23 22:06:00 +00:00
( require 'yafolding )
( add-hook 'prog-mode-hook
( lambda ( ) ( yafolding-mode ) ) )
2015-01-30 23:01:07 +00:00
2014-10-06 06:44:58 +00:00
;;;; Here be customize dragons
2014-09-29 18:37:30 +00:00
( 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.
2015-03-23 23:02:45 +00:00
' ( LilyPond-command-alist
( quote
( ( " LilyPond " " lilypond %s " " %s " " %l " " View " )
( " 2PS " " lilypond -f ps %s " " %s " " %p " " ViewPS " )
( " Book " " lilypond-book %x " " %x " " %l " " LaTeX " )
( " LaTeX " " latex ' \\ nonstopmode \\ input %l' " " %l " " %d " " ViewDVI " )
( " View " " zathura %f " )
( " ViewPS " " gv --watch %p " )
( " Midi " " " )
( " MidiAll " " " ) ) ) )
' ( LilyPond-pdf-command " zathura " )
' ( ansi-color-faces-vector
[ default bold shadow italic underline bold bold-italic bold ] )
' ( ansi-term-color-vector
[ unspecified " #1F1611 " " #660000 " " #144212 " " #EFC232 " " #5798AE " " #BE73FD " " #93C1BC " " #E6E1DC " ] )
' ( compilation-message-face ( quote default ) )
' ( completion-styles ( quote ( partial-completion basic emacs22 ) ) )
' ( custom-safe-themes
2015-03-23 22:43:09 +00:00
( quote
( " 3cd28471e80be3bd2657ca3f03fbb2884ab669662271794360866ab60b6cb6e6 " " 47160226d9b534d26067fcfb07f6bc1ea5922d9caafd29536c1a212e1cef571b " " f0ea6118d1414b24c2e4babdc8e252707727e7b4ff2e791129f240a2b3093e32 " " bf4097b29a98d5653e10a97cf3436c6b57dfb4750be6b083ca353fea06efe2be " " 57f8801351e8b7677923c9fe547f7e19f38c99b80d68c34da6fa9b94dc6d3297 " " 5d9351cd410bff7119978f8e69e4315fd1339aa7b3af6d398c5ca6fac7fd53c7 " " 70cf411fbf9512a4da81aa1e87b064d3a3f0a47b19d7a4850578c8d64cac2353 " " e35ef4f72931a774769da2b0c863e11d94e60a9ad97fb9734e8b28c7ee40f49b " " 96efbabfb6516f7375cdf85e7781fe7b7249b6e8114676d65337a1ffe78b78d9 " " 4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328 " " d809ca3cef02087b48f3f94279b86feca896f544ae4a82b523fba823206b6040 " " a507b9ca4a605d5256716da70961741b9ef9ec3246041a4eb776102e8df18418 " " 2affb26fb9a1b9325f05f4233d08ccbba7ec6e0c99c64681895219f964aac7af " " 65ae93029a583d69a3781b26044601e85e2d32be8f525988e196ba2cb644ce6a " " 0795e2c85394140788d72d34969be4acb305e4a54149e7237787d9df27832fbb " " 8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4 " " 47bff723f2aca3a9a5726abcc52a7cc4192b556dd80b3f773589994d2ed24d16 " " 013e87003e1e965d8ad78ee5b8927e743f940c7679959149bbee9a15bd286689 " " ad9fc392386f4859d28fe4ef3803585b51557838dbc072762117adad37e83585 " " 1011be33e9843afd22d8d26b031fbbb59036b1ce537d0b250347c19e1bd959d0 " " 784d5ee4d33befba6a21702ead67f98346770be7cc17ab64952ae3866a403743 " " 930a202ae41cb4417a89bc3a6f969ebb7fcea5ffa9df6e7313df4f7a2a631434 " " 0e121ff9bef6937edad8dfcff7d88ac9219b5b4f1570fd1702e546a80dba0832 " " 442c946bc5c40902e11b0a56bd12edc4d00d7e1c982233545979968e02deb2bc " " e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e " " 9eb5269753c507a2b48d74228b32dcfbb3d1dbfd30c66c0efed8218d28b8f0dc " " c4e6fe8f5728a5d5fd0e92538f68c3b4e8b218bcfb5e07d8afff8731cc5f3df0 " " c739f435660ca9d9e77312cbb878d5d7fd31e386a7758c982fa54a49ffd47f6e " " 97a2b10275e3e5c67f46ddaac0ec7969aeb35068c03ec4157cf4887c401e74b1 " " 024b0033a950d6a40bbbf2b1604075e6c457d40de0b52debe3ae994f88c09a4a " default ) ) )
2014-10-03 01:11:00 +00:00
' ( debug-on-error nil )
2014-10-08 21:12:12 +00:00
' ( diary-entry-marker ( quote font-lock-variable-name-face ) )
2015-03-23 23:02:45 +00:00
' ( dired-listing-switches " -ahl --group-directories-first --time-style=long-iso " )
2014-10-03 01:11:00 +00:00
' ( erc-fill-mode nil )
2014-09-29 18:37:30 +00:00
' ( erc-generate-log-file-name-function ( quote erc-generate-log-file-name-network ) )
2014-10-05 05:13:15 +00:00
' ( erc-log-channels-directory " ~/.emacs.d/erc/logs/ " )
2014-09-29 18:37:30 +00:00
' ( erc-log-mode t )
2014-10-03 01:11:00 +00:00
' ( erc-log-write-after-insert t )
2015-03-23 22:59:14 +00:00
' ( erc-modules
( quote
( autojoin completion list log menu ring stamp ercn netsplit button match track readonly networks noncommands irccontrols move-to-prompt ) ) )
' ( erc-nick
( quote
( " contrapunctus " " HisaoNakai " " [Batou] " " [Togusa] " " [2501] " ) ) )
2014-09-29 18:37:30 +00:00
' ( erc-stamp-mode t )
' ( erc-timestamp-format-left "
[ %Y %m %e %T %N ]
" )
2014-10-03 01:11:00 +00:00
' ( erc-timestamp-format-right nil )
2014-10-08 21:12:12 +00:00
' ( fci-rule-character-color " #452E2E " )
' ( gnus-logo-colors ( quote ( " #0d7b72 " " #adadad " ) ) )
2015-03-23 22:59:14 +00:00
' ( helm-completing-read-handlers-alist
( quote
( ( describe-function . helm-completing-read-symbols )
( describe-variable . helm-completing-read-symbols )
( debug-on-entry . helm-completing-read-symbols )
( find-function . helm-completing-read-symbols )
( find-tag . helm-completing-read-with-cands-in-buffer )
( ffap-alternate-file )
( tmm-menubar )
( completon-at-point . f ) ) ) )
2015-03-23 23:02:45 +00:00
' ( highlight-changes-colors ( quote ( " #FD5FF0 " " #AE81FF " ) ) )
' ( highlight-tail-colors
( quote
( ( " #49483E " . 0 )
( " #67930F " . 20 )
( " #349B8D " . 30 )
( " #21889B " . 50 )
( " #968B26 " . 60 )
( " #A45E0A " . 70 )
( " #A41F99 " . 85 )
( " #49483E " . 100 ) ) ) )
2014-09-29 18:37:30 +00:00
' ( session-registers ( quote ( t 45 61 92 96 region ( 97 . 122 ) ) ) )
2014-10-06 06:44:58 +00:00
' ( session-use-package t nil ( session ) )
2015-03-23 23:02:45 +00:00
' ( syslog-debug-face
( quote
( ( t :background unspecified :foreground " #A1EFE4 " :weight bold ) ) ) )
' ( syslog-error-face
( quote
( ( t :background unspecified :foreground " #F92672 " :weight bold ) ) ) )
' ( syslog-hour-face ( quote ( ( t :background unspecified :foreground " #A6E22E " ) ) ) )
' ( syslog-info-face
( quote
( ( t :background unspecified :foreground " #66D9EF " :weight bold ) ) ) )
' ( syslog-ip-face ( quote ( ( t :background unspecified :foreground " #E6DB74 " ) ) ) )
' ( syslog-su-face ( quote ( ( t :background unspecified :foreground " #FD5FF0 " ) ) ) )
' ( syslog-warn-face
( quote
( ( t :background unspecified :foreground " #FD971F " :weight bold ) ) ) )
' ( weechat-color-list
( quote
( unspecified " #272822 " " #49483E " " #A20C41 " " #F92672 " " #67930F " " #A6E22E " " #968B26 " " #E6DB74 " " #21889B " " #66D9EF " " #A41F99 " " #FD5FF0 " " #349B8D " " #A1EFE4 " " #F8F8F2 " " #F8F8F0 " ) ) )
' ( yafolding-ellipsis-content "
. . . " ))
2014-09-29 18:37:30 +00:00
( 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.
2015-03-23 22:59:14 +00:00
' ( magit-item-highlight ( ( t nil ) ) ) )
2015-03-23 23:02:16 +00:00
( put 'downcase-region 'disabled nil )