21 |
21 |
22 (column-number-mode t) ; show column numbers |
22 (column-number-mode t) ; show column numbers |
23 (delete-selection-mode t) ; replace highlighted text |
23 (delete-selection-mode t) ; replace highlighted text |
24 (windmove-default-keybindings) ; move between windows with shift-arrow |
24 (windmove-default-keybindings) ; move between windows with shift-arrow |
25 (fset 'yes-or-no-p 'y-or-n-p) ; replace yes/no prompts |
25 (fset 'yes-or-no-p 'y-or-n-p) ; replace yes/no prompts |
26 (global-hl-line-mode t) ; highlight current line |
26 ;; (global-hl-line-mode t) ; highlight current line |
27 |
27 |
28 |
28 |
29 ;;; Coding |
29 ;;; Coding |
30 (which-func-mode t) ; show current function |
30 (which-func-mode t) ; show current function |
31 (show-paren-mode t) ; show matching paren |
31 (show-paren-mode t) ; show matching paren |
45 ring-bell-function 'ignore |
45 ring-bell-function 'ignore |
46 mac-command-modifier 'meta |
46 mac-command-modifier 'meta |
47 ns-pop-up-frames nil |
47 ns-pop-up-frames nil |
48 ispell-program-name "/usr/local/bin/aspell")) |
48 ispell-program-name "/usr/local/bin/aspell")) |
49 |
49 |
|
50 |
50 ;;; Xorg |
51 ;;; Xorg |
51 (when window-system |
52 (when window-system |
52 (tool-bar-mode -1) ; remove tool bar |
53 (tool-bar-mode -1) ; remove tool bar |
53 (scroll-bar-mode -1) ; remove scroll bar |
54 (scroll-bar-mode -1) ; remove scroll bar |
54 (unless is-mac (menu-bar-mode -1)) ; remove menu bar |
55 (unless is-mac (menu-bar-mode -1)) ; remove menu bar |
55 (visual-line-mode t) ; word wrap break on whitespace |
56 (visual-line-mode t) ; word wrap break on whitespace |
56 (set-default-font (if is-mac "Ubuntu Mono-12" "Ubuntu Mono-10.5"))) |
57 (set-default-font (if is-mac "Ubuntu Mono-12" "Ubuntu Mono-10.5"))) |
57 |
58 |
|
59 |
58 ;;;; Mode-Specific ;;;; |
60 ;;;; Mode-Specific ;;;; |
59 |
61 |
60 ;;; text-mode |
62 ;;; text-mode |
61 (add-hook 'fundamental-mode-hook 'flyspell-mode) ; spellcheck text |
63 (add-hook 'fundamental-mode-hook 'flyspell-mode) ; spellcheck text |
62 (add-hook 'fundamental-mode-hook 'turn-on-auto-fill) ; autofill text |
64 (add-hook 'fundamental-mode-hook 'turn-on-auto-fill) ; autofill text |
|
65 |
63 |
66 |
64 ;;; ido-mode |
67 ;;; ido-mode |
65 (ido-mode t) ; file/buffer selector |
68 (ido-mode t) ; file/buffer selector |
66 (setq-default |
69 (setq-default |
67 ido-enable-flex-matching t ; fuzzy matching for ido mode |
70 ido-enable-flex-matching t ; fuzzy matching for ido mode |
68 ido-create-new-buffer 'always ; create new buffer without prompt |
71 ido-create-new-buffer 'always ; create new buffer without prompt |
69 ido-everywhere t ; use ido where possible |
72 ido-everywhere t ; use ido where possible |
70 ido-max-window-height 1) ; max ido window height |
73 ido-max-window-height 1) ; max ido window height |
71 |
74 |
|
75 |
72 ;;; whitespace-mode |
76 ;;; whitespace-mode |
73 (global-whitespace-mode t) ; show whitespace |
77 (global-whitespace-mode t) ; show whitespace |
74 (add-hook 'before-save-hook 'whitespace-cleanup) ; cleanup whitespace on exit |
78 (add-hook 'before-save-hook 'whitespace-cleanup) ; cleanup whitespace on exit |
75 (setq-default |
79 (setq-default |
76 whitespace-line-column 120 ; column width |
80 whitespace-line-column 120 ; column width |
77 whitespace-style ; whitespace to highlight |
81 whitespace-style ; whitespace to highlight |
78 '(trailing lines-tail empty indentation |
82 '(trailing lines-tail empty indentation |
79 space-before-tab space-after-tab)) |
83 space-before-tab space-after-tab)) |
|
84 |
80 |
85 |
81 ;;; org-mode |
86 ;;; org-mode |
82 (add-hook |
87 (add-hook |
83 'org-mode-hook |
88 'org-mode-hook |
84 (lambda () |
89 (lambda () |
85 (local-set-key (kbd "M-p") 'org-move-item-up) |
90 (local-set-key (kbd "M-p") 'org-move-item-up) |
86 (local-set-key (kbd "M-S-p") 'org-move-subtree-up) |
91 (local-set-key (kbd "M-S-p") 'org-move-subtree-up) |
87 (local-set-key (kbd "M-n") 'org-move-item-down) |
92 (local-set-key (kbd "M-n") 'org-move-item-down) |
88 (local-set-key (kbd "M-S-n") 'org-move-subtree-down))) |
93 (local-set-key (kbd "M-S-n") 'org-move-subtree-down))) |
|
94 |
89 |
95 |
90 ;;; ibuffer |
96 ;;; ibuffer |
91 (global-set-key (kbd "C-x C-b") 'ibuffer) ; better buffer browser |
97 (global-set-key (kbd "C-x C-b") 'ibuffer) ; better buffer browser |
92 (setq-default |
98 (setq-default |
93 ibuffer-show-empty-filter-groups nil |
99 ibuffer-show-empty-filter-groups nil |
118 expand-region smex hgignore-mode ido-at-point markdown-mode |
124 expand-region smex hgignore-mode ido-at-point markdown-mode |
119 hgignore-mode move-text paredit rainbow-delimiters rainbow-mode |
125 hgignore-mode move-text paredit rainbow-delimiters rainbow-mode |
120 json-mode json-reformat solarized-theme terraform-mode |
126 json-mode json-reformat solarized-theme terraform-mode |
121 visual-regexp yasnippet yaml-mode zencoding-mode)) |
127 visual-regexp yasnippet yaml-mode zencoding-mode)) |
122 |
128 |
123 ;;; terminal |
129 |
|
130 ;;; shell |
124 (global-set-key (kbd "C-c s") 'eshell) ; start shell |
131 (global-set-key (kbd "C-c s") 'eshell) ; start shell |
125 (exec-path-from-shell-copy-env "PYTHONPATH") |
132 (exec-path-from-shell-copy-env "PYTHONPATH") |
126 (exec-path-from-shell-initialize) |
133 (exec-path-from-shell-initialize) |
127 (eshell) |
134 (eshell) |
128 (add-hook 'eshell-mode-hook (lambda () (setenv "TERM" "emacs"))) |
135 (add-hook 'eshell-mode-hook (lambda () (setenv "TERM" "emacs"))) |
129 |
136 |
|
137 |
130 ;;; custom requires |
138 ;;; custom requires |
131 (require 'haskell-init) |
139 (require 'haskell-init) |
132 (require 'javascript-init) |
140 (require 'javascript-init) |
133 (require 'c-init) |
141 (require 'c-init) |
134 (require 'ansible-init) |
142 (require 'ansible-init) |
135 |
143 |
|
144 |
136 ;;; ido / smex / completion |
145 ;;; ido / smex / completion |
137 (ido-at-point-mode) |
146 (ido-at-point-mode) |
138 (global-set-key (kbd "M-/") 'completion-at-point) |
147 (global-set-key (kbd "M-/") 'completion-at-point) |
139 (global-set-key (kbd "M-x") 'smex) |
148 (global-set-key (kbd "M-x") 'smex) |
140 (global-set-key (kbd "M-X") 'smex-major-mode-commands) |
149 (global-set-key (kbd "M-X") 'smex-major-mode-commands) |
|
150 |
|
151 |
|
152 ;;; emacs-lisp-mode |
|
153 (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) |
|
154 |
141 |
155 |
142 ;;; ace-mode |
156 ;;; ace-mode |
143 (define-key global-map (kbd "C-c SPC") 'ace-jump-mode) |
157 (define-key global-map (kbd "C-c SPC") 'ace-jump-mode) |
144 ;; (autoload |
158 ;; (autoload |
145 ;; 'ace-jump-mode-pop-mark |
159 ;; 'ace-jump-mode-pop-mark |
152 |
166 |
153 |
167 |
154 ;;; company-mode |
168 ;;; company-mode |
155 (add-hook 'after-init-hook 'global-company-mode) |
169 (add-hook 'after-init-hook 'global-company-mode) |
156 (global-set-key (kbd "M-/") 'company-complete) |
170 (global-set-key (kbd "M-/") 'company-complete) |
157 (custom-set-variables |
171 (setq-default |
158 '(company-idle-delay nil) |
172 company-idle-delay nil |
159 '(company-minimum-prefix-length 2) |
173 company-minimum-prefix-length 2 |
160 '(company-selection-wrap-around t) |
174 company-selection-wrap-around t |
161 '(company-show-numbers t) |
175 company-show-numbers t |
162 '(company-tooltip-align-annotations t)) |
176 company-tooltip-align-annotations t) |
|
177 |
163 |
178 |
164 ;;; uniquify |
179 ;;; uniquify |
165 (require 'uniquify) ; unique buffer names with dirs |
180 (require 'uniquify) ; unique buffer names with dirs |
166 (setq |
181 (setq |
167 uniquify-buffer-name-style 'post-forward |
182 uniquify-buffer-name-style 'post-forward |
168 uniquify-separator ":") |
183 uniquify-separator ":") |
169 |
184 |
|
185 |
170 ;;; color-theme |
186 ;;; color-theme |
171 (setq-default |
187 (setq-default |
172 custom-safe-themes |
188 custom-safe-themes |
173 '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" |
189 '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" |
174 "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default)) |
190 "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default)) |
175 (load-theme 'solarized-light) |
191 (load-theme 'solarized-light) |
176 |
192 |
|
193 |
177 ;;; yasnippets |
194 ;;; yasnippets |
178 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets |
195 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets |
179 ;; (setq-default yas-snippet-dirs '("~/.emacs.d/snippets")) |
|
180 (yas-global-mode t) |
196 (yas-global-mode t) |
181 |
197 |
182 |
198 |
183 ;;; markdown-mode |
199 ;;; markdown-mode |
184 (add-hook 'markdown-mode-hook 'flyspell-mode) |
200 (add-hook 'markdown-mode-hook 'flyspell-mode) |