emacs ==================================
[dotfiles.git] / emacs.d / init.el
1
2
3 ;; Added by Package.el.  This must come before configurations of
4 ;; installed packages.  Don't delete this line.  If you don't want it,
5 ;; just comment it out by adding a semicolon to the start of the line.
6 ;; You may delete these explanatory comments.
7 ;(package-initialize)
8
9 ; (load-library "url-handlers")
10
11 (setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
12 (setq exec-path (append exec-path '("/usr/local/bin")))
13
14 ;; package manager
15 (require 'package)
16 (add-to-list 'package-archives
17              '("melpa" . "http://melpa.milkbox.net/packages/") t)
18
19
20 (package-initialize)
21
22 ;; use-package
23 (unless (package-installed-p 'use-package)
24   (package-refresh-contents)
25   (package-install 'use-package))
26
27 (require 'use-package)
28
29 ;;;;; load path
30 (add-to-list 'load-path "~/.emacs.d/elisp")
31
32 (require 'init-base)
33 (require 'init-magit)
34
35
36
37 (use-package hydra
38   :ensure t
39   :config
40   (hydra-add-font-lock))
41
42
43 ;;;;;;;;;
44 (use-package ace-jump-mode
45   :commands ace-jump-mode
46   :init
47   (bind-key "C-." 'ace-jump-mode))
48
49
50
51
52
53
54
55
56
57
58
59
60
61 ;(add-to-list 'load-path "~/.emacs.d/config")
62
63 ;; remove custom setting out of init.el
64 ;; http://emacsblog.org/2008/12/06/quick-tip-detaching-the-custom-file/
65 ;(setq custom-file "~/.emacs.d/custom.el")
66 ;(load custom-file 'noerror)
67 ;(require 'my-packages)
68 ;(require 'init-base)
69 ;(require 'init-font)
70
71 ;(require 'init-helm)
72
73 ;(require 'init-color-theme)
74 ;(require 'init-color-theme-2)
75 ;(require 'init-ido)
76 ;(require 'init-magit)
77 ;(require 'init-evil)
78 ;(require 'init-project)
79 ;(require 'init-ggtags)
80
81 ;(require 'init-projectile)
82
83 ;;;; conflict with C-c . in org-mode, disable it temporarily
84 ;;;;(require 'init-c-cpp)
85 ;(require 'init-key-binding)
86 ;(require 'init-winner)
87 ;(require 'init-minibuffer)
88 ;(require 'init-eshell)
89
90 ;; http://stackoverflow.com/questions/11484225/fix-an-auto-complete-mode-and-linum-mode-annoyance
91 ;;;(ac-linum-workaround)
92
93
94 ;(require 'init-mode-line)
95 ;(require 'init-workgroup2)
96 ;(require 'init-perl)
97
98 ;(add-to-list 'load-path "~/.emacs.d/Emacs-PDE-0.2.16/lisp/")
99 ;(load "pde-load")                       ;
100
101 ;(require 'init-linum)
102
103 ;(require 'auto-complete)
104 ;(require 'auto-complete-config)
105 ;(ac-config-default)
106
107
108
109
110 ;; page break configuration
111 ;(require 'pp-c-l)
112 ;(pretty-control-l-mode 1)
113
114 ;; persist command history of helm
115 ;(require 'session)
116 ;(add-hook 'after-init-hook 'session-initialize)
117
118
119 ;(require 'use-package)
120
121 ;; persist command history of helm
122 ;(use-package savehist
123 ;  :init (savehist-mode)
124 ;  :config
125 ;  (setq history-length 1000
126 ;        history-delete-duplicates t
127 ;        savehist-additional-variables '(extended-command-history))) 
128
129 ;;(savehist-mode)
130 ;;  (setq history-length 1000
131 ;;        history-delete-duplicates t
132 ;;        savehist-additional-variables '(extended-command-history)) 
133
134 ;    (setq split-height-threshold 0)
135
136
137
138
139
140 ;;;(require 'helm-gtags)
141 ;;;;(require 'setup-helm-gtags)
142 ;;;;(helm-gtags-mode 1)
143 ;;;;;; Enable helm-gtags-mode
144 ;;;(add-hook 'c-mode-hook 'helm-gtags-mode)
145 ;;;(add-hook 'c++-mode-hook 'helm-gtags-mode)
146 ;;;(add-hook 'asm-mode-hook 'helm-gtags-mode)
147 ;;;
148 ;;;;; customize
149 ;;;(custom-set-variables
150 ;;; '(helm-gtags-path-style 'relative)
151 ;;; '(helm-gtags-ignore-case t)
152 ;;; '(helm-gtags-auto-update t))
153 ;;;
154 ;;;;; key bindings
155 ;;;(eval-after-load "helm-gtags"
156 ;;;  '(progn
157 ;;;     (define-key helm-gtags-mode-map (kbd "M-t") 'helm-gtags-find-tag)
158 ;;;     (define-key helm-gtags-mode-map (kbd "M-r") 'helm-gtags-find-rtag)
159 ;;;     (define-key helm-gtags-mode-map (kbd "M-s") 'helm-gtags-find-symbol)
160 ;;;     (define-key helm-gtags-mode-map (kbd "M-g M-p") 'helm-gtags-parse-file)
161 ;;;     (define-key helm-gtags-mode-map (kbd "C-c <") 'helm-gtags-previous-history)
162 ;;;     (define-key helm-gtags-mode-map (kbd "C-c >") 'helm-gtags-next-history)
163 ;;;     (define-key helm-gtags-mode-map (kbd "M-,") 'helm-gtags-pop-stack)))
164
165
166 ;(require 'icicles)
167 ;(icy-mode 1)
168
169
170 ;;(require 'init-org)
171 ;(setq help-window-select t)
172
173
174
175 ;(require 'init-keychord)
176
177 ;(setq hydra-examples-verbatim t)
178 ;(require 'init-hydra)
179
180
181 ;(require 'ace-window)
182 ;(global-set-key (kbd "M-p") 'ace-window)
183
184
185 ;(require 'init-multi-term)
186 ;(require 'init-projectile)
187
188 ;(require 'page-break-lines)
189 ;(turn-on-page-break-lines-mode)
190 ;(global-page-break-lines-mode 1)
191
192 ;(setq projectile-completion-system 'helm)
193 ;(helm-projectile-on)
194
195
196 ;; show projectile name in mode-line
197
198
199 ;(if (locate-library "ediff")
200 ;    (progn
201 ;      (autoload 'ediff-files "ediff")
202 ;      (autoload 'ediff-buffers "ediff")
203 ;
204 ;       (eval-after-load "ediff" '(progn
205 ;                         (message "doing ediff customisation")
206 ;                         (setq diff-switches               "-u"
207 ;                               ediff-custom-diff-options   "-U3"
208 ;                               ediff-split-window-function 'split-window-horizontally
209 ;                               ediff-window-setup-function 'ediff-setu;p-windows-plain)
210 ;
211 ;                         (add-hook 'ediff-startup-hook 'ediff-toggle-w;ide-display)
212 ;                         (add-hook 'ediff-cleanup-hook 'ediff-toggle-w;ide-display)
213 ;                         (add-hook 'ediff-suspend-hook 'ediff-toggle-wide-display)))))
214
215
216
217 ;(defun update-diff-colors ()
218 ;  "update the colors for diff faces"
219 ;  (set-face-attribute 'diff-added nil
220 ;                      :foreground "white" :background "blue")
221 ;  (set-face-attribute 'diff-removed nil
222 ;                      :foreground "white" :background "red3")
223 ;  (set-face-attribute 'diff-changed nil
224 ;                      :foreground "white" :background "purple"))
225 ;(eval-after-load "diff-mode"
226 ;  '(update-diff-colors))
227
228
229
230 ;(require 'helm-ag)
231 ;(require 'flx)
232 ;(flx-ido-mode t)
233
234
235
236 ;(fringe-mode (quote (0 . 0)))
237
238
239 (custom-set-variables
240  ;; custom-set-variables was added by Custom.
241  ;; If you edit it by hand, you could mess it up, so be careful.
242  ;; Your init file should contain only one such instance.
243  ;; If there is more than one, they won't work right.
244  '(package-selected-packages
245    (quote
246     (yasnippet workgroups2 w3m use-package tangotango-theme tabbar smex session rich-minority relative-line-numbers recentf-ext projectile-speedbar pp-c-l powerline persp-projectile paradox page-break-lines org-cliplink org-caldav org-bullets multi-term monokai-theme molokai-theme moe-theme minibuffer-line markdown-mode magit linum-relative key-chord jekyll-modes irony iedit ido-vertical-mode ido-ubiquitous icicles hydra highlight-tail highlight-escape-sequences highlight-current-line helm-projectile helm-ls-svn helm-ls-git helm-gtags helm-ag google-c-style ggtags flyspell-lazy flymake-google-cpplint flymake-cursor flx-ido fiplr eyebrowse evil-leader evil-escape ecb dired+ diff-hl cyberpunk-theme company color-theme-sanityinc-tomorrow color-theme color-identifiers-mode auto-complete-c-headers ace-window ace-jump-mode))))
247 (custom-set-faces
248  ;; custom-set-faces was added by Custom.
249  ;; If you edit it by hand, you could mess it up, so be careful.
250  ;; Your init file should contain only one such instance.
251  ;; If there is more than one, they won't work right.
252  )