SHOW:
|
|
- or go back to the newest paste.
| 1 | ;;; Customize Variables and Custom Faces: | |
| 2 | (custom-set-variables | |
| 3 | ;; custom-set-variables was added by Custom. | |
| 4 | ;; If you edit it by hand, you could mess it up, so be careful. | |
| 5 | ;; Your init file should contain only one such instance. | |
| 6 | ;; If there is more than one, they won't work right. | |
| 7 | '(calendar-latitude 39.55) | |
| 8 | '(calendar-longitude 116.23) | |
| 9 | '(cfs--current-profile "profile2" t) | |
| 10 | '(cfs--profiles-steps | |
| 11 | (quote | |
| 12 | (("profile2" . 3)
| |
| 13 | ("profile3" . 7)
| |
| 14 | ("profile1" . 7))) t)
| |
| 15 | '(column-number-mode t) | |
| 16 | '(custom-safe-themes | |
| 17 | (quote | |
| 18 | ("55d31108a7dc4a268a1432cd60a7558824223684afecefa6fae327212c40f8d3" "1bd383f15ee7345c270b82c5e41554754b2a56e14c2ddaa2127c3590d0303b95" "3de3f36a398d2c8a4796360bfce1fa515292e9f76b655bb9a377289a6a80a132" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "c74e83f8aa4c78a121b52146eadb792c9facc5b1f02c917e3dbb454fca931223" "a27c00821ccfd5a78b01e4f35dc056706dd9ede09a8b90c6955ae6a390eb1c1e" default)))
| |
| 19 | '(delete-selection-mode nil) | |
| 20 | '(elpy-rpc-python-command "/Users/repl/Documents/PythonEnv/venv3.6.1/bin/python") | |
| 21 | '(exec-path | |
| 22 | (quote | |
| 23 | ("/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Applications/Emacs.app/Contents/MacOS/bin-x86_64-10_9" "/Applications/Emacs.app/Contents/MacOS/libexec-x86_64-10_9" "/Applications/Emacs.app/Contents/MacOS/libexec" "/Applications/Emacs.app/Contents/MacOS/bin" "/usr/local/bin")))
| |
| 24 | '(global-linum-mode t) | |
| 25 | '(inhibit-default-init t) | |
| 26 | '(inhibit-startup-buffer-menu t) | |
| 27 | '(inhibit-startup-screen t) | |
| 28 | '(initial-buffer-choice nil) | |
| 29 | '(jdee-jdk-registry (quote (("1.8.0_112" . "/usr/lib64/jdk8u121_b13/"))))
| |
| 30 | '(jdee-server-dir "/home/repl/Documents/Dot.emacs/extra/jdee-server/target") | |
| 31 | '(org-latex-compiler "xelatex") | |
| 32 | '(package-selected-packages | |
| 33 | (quote | |
| 34 | (yaml-mode autumn-light-theme org-tree-slide org-present epresent helm merlin utop inkpot-theme circe sphinx-doc fzf markdown-mode add-hooks jinja2-mode emmet-mode hexo jdee theme-changer solarized-theme chinese-pyim py-yapf company-mode rainbow-blocks rainbow-delimiters hl-sexp chinese-pyim-greatdict powerline robe haskell-mode bfbuilder geiser sml-mode elpy slime yasnippet chinese-fonts-setup magit color-moccur smart-mode-line counsel multiple-cursors expand-region lispy ace-jump-mode moccur-edit eclipse-theme use-package))) | |
| 35 | '(python-shell-interpreter "/Users/repl/Documents/PythonEnv/venv3.6.1/bin/python") | |
| 36 | '(ring-bell-function (quote ignore)) | |
| 37 | '(safe-local-variable-values (quote ((encoding . utf-8)))) | |
| 38 | '(sml-program-name "/usr/bin/poly") | |
| 39 | '(yas-snippet-dirs | |
| 40 | (quote | |
| 41 | ("~/Documents/Dot.emacs/snippets" yas-installed-snippets-dir))))
| |
| 42 | (custom-set-faces | |
| 43 | ;; custom-set-faces was added by Custom. | |
| 44 | ;; If you edit it by hand, you could mess it up, so be careful. | |
| 45 | ;; Your init file should contain only one such instance. | |
| 46 | ;; If there is more than one, they won't work right. | |
| 47 | '(rainbow-blocks-depth-1-face ((t (:foreground "#30A096")))) | |
| 48 | '(rainbow-blocks-depth-2-face ((t (:foreground "#D99D17")))) | |
| 49 | '(rainbow-blocks-depth-3-face ((t (:foreground "#349CEA")))) | |
| 50 | '(rainbow-blocks-depth-4-face ((t (:foreground "#EB531E")))) | |
| 51 | '(rainbow-blocks-depth-5-face ((t (:foreground "#99AE17")))) | |
| 52 | '(rainbow-blocks-depth-6-face ((t (:foreground "#D99D17")))) | |
| 53 | '(rainbow-blocks-depth-7-face ((t (:foreground "#349CEA")))) | |
| 54 | '(rainbow-blocks-depth-8-face ((t (:foreground "#EB531E")))) | |
| 55 | '(rainbow-blocks-depth-9-face ((t (:foreground "#99AE17")))) | |
| 56 | '(rainbow-delimiters-depth-1-face ((t (:foreground "#30A096")))) | |
| 57 | '(rainbow-delimiters-depth-2-face ((t (:foreground "#D99D17")))) | |
| 58 | '(rainbow-delimiters-depth-3-face ((t (:foreground "#349CEA")))) | |
| 59 | '(rainbow-delimiters-depth-4-face ((t (:foreground "#EB531E")))) | |
| 60 | '(rainbow-delimiters-depth-5-face ((t (:foreground "#99AE17")))) | |
| 61 | '(rainbow-delimiters-depth-6-face ((t (:foreground "#D99D17")))) | |
| 62 | '(rainbow-delimiters-depth-7-face ((t (:foreground "#349CEA")))) | |
| 63 | '(rainbow-delimiters-depth-8-face ((t (:foreground "#EB531E")))) | |
| 64 | '(rainbow-delimiters-depth-9-face ((t (:foreground "#99AE17"))))) | |
| 65 | ||
| 66 | ;;; Initialize Emacs and prepare packages: | |
| 67 | ;; C-c @ C-t: show top level, C-c @ C-a: show all again. | |
| 68 | (add-hook | |
| 69 | 'emacs-lisp-mode-hook | |
| 70 | (lambda () | |
| 71 | (make-local-variable | |
| 72 | 'outline-regexp) | |
| 73 | (setq outline-regexp "^;;; ") | |
| 74 | (make-local-variable | |
| 75 | 'outline-heading-end-regexp) | |
| 76 | (setq outline-heading-end-regexp | |
| 77 | ":\n") | |
| 78 | (outline-minor-mode 1))) | |
| 79 | (setq debug-on-error t) | |
| 80 | (setq gc-cons-threshold 400000000) | |
| 81 | (require 'package) | |
| 82 | (setq package-archives | |
| 83 | '(;; ("gnu" . "http://elpa.zilongshanren.com/gnu/")
| |
| 84 | ("gnu" . "https://elpa.gnu.org/packages/")
| |
| 85 | ;; ("melpa" . "http://elpa.zilongshanren.com/melpa/")
| |
| 86 | ("melpa" . "https://melpa.org/packages/")
| |
| 87 | ("elpy" . "https://jorgenschaefer.github.io/packages/")))
| |
| 88 | (package-initialize) | |
| 89 | (unless (package-installed-p 'use-package) | |
| 90 | (package-refresh-contents) | |
| 91 | (package-install 'use-package)) | |
| 92 | (eval-when-compile | |
| 93 | (require 'use-package)) | |
| 94 | (require 'server) | |
| 95 | (or (server-running-p) | |
| 96 | (server-start)) | |
| 97 | (setq gc-cons-threshold 800000) | |
| 98 | ;; disable on 2017/04/28 | |
| 99 | (menu-bar-mode -1) | |
| 100 | (tool-bar-mode -1) | |
| 101 | (scroll-bar-mode -1) | |
| 102 | (setq-default tramp-ssh-controlmaster-options nil) | |
| 103 | ;; 2017/01/09 | |
| 104 | (setq prettify-symbols-alist '(("lambda" . 955)))
| |
| 105 | (global-prettify-symbols-mode 1) | |
| 106 | (add-to-list 'load-path | |
| 107 | "~/Documents/Dot.emacs/extra") | |
| 108 | ;; 2017/03/14 | |
| 109 | ;; (load-theme 'tango-dark t) | |
| 110 | ;; (load-theme 'adwaita t) | |
| 111 | ||
| 112 | ;; 五 8/11 15:38:58 2017 | |
| 113 | ;; (load-theme 'base16-brewer t) | |
| 114 | ||
| 115 | ;; 2017/02/16 | |
| 116 | ;; org-mode configuration | |
| 117 | (global-set-key "\C-cl" 'org-store-link) | |
| 118 | (global-set-key "\C-ca" 'org-agenda) | |
| 119 | (global-set-key "\C-cc" 'org-capture) | |
| 120 | (global-set-key "\C-cb" 'org-iswitchb) | |
| 121 | ||
| 122 | ;; 2017/05/16 | |
| 123 | (global-set-key (kbd "<f9>") 'compile) | |
| 124 | (global-set-key (kbd "<f12>") 'eshell) | |
| 125 | (global-set-key (kbd "<f5>") 'gdb) | |
| 126 | (setq gdb-many-windows t) | |
| 127 | ||
| 128 | ;; 2017/06/03 | |
| 129 | (define-key text-mode-map (kbd "<tab>") 'tab-to-tab-stop) | |
| 130 | (setq tab-stop-list (number-sequence 2 160 2)) | |
| 131 | ||
| 132 | (defun set-tab-stop-width (width) | |
| 133 | "Set all tab stops to WIDTH in current buffer. | |
| 134 | ||
| 135 | This updates `tab-stop-list', but not `tab-width'. | |
| 136 | ||
| 137 | By default, `indent-for-tab-command' uses tabs to indent, see | |
| 138 | `indent-tabs-mode'." | |
| 139 | (interactive "nTab width: ") | |
| 140 | (let* ((max-col (car (last tab-stop-list))) | |
| 141 | ;; If width is not a factor of max-col, | |
| 142 | ;; then max-col could be reduced with each call. | |
| 143 | (n-tab-stops (/ max-col width))) | |
| 144 | (set (make-local-variable 'tab-stop-list) | |
| 145 | (mapcar (lambda (x) (* width x)) | |
| 146 | (number-sequence 1 n-tab-stops))) | |
| 147 | ;; So preserve max-col, by adding to end. | |
| 148 | (unless (zerop (% max-col width)) | |
| 149 | (setcdr (last tab-stop-list) | |
| 150 | (list max-col))))) | |
| 151 | ||
| 152 | (defun local-text-mode-hook-fun () | |
| 153 | (set-tab-stop-width 2) | |
| 154 | (setq indent-tabs-mode nil)) | |
| 155 | ||
| 156 | (add-hook 'text-mode-hook 'local-text-mode-hook-fun) | |
| 157 | (add-hook 'python-mode-hook 'local-text-mode-hook-fun) | |
| 158 | (add-hook 'ruby-mode-hook 'local-text-mode-hook-fun) | |
| 159 | ||
| 160 | (global-set-key (kbd "C-x r p") 'query-replace-regexp) | |
| 161 | ||
| 162 | ;; 2017/09/05 | |
| 163 | (setenv "PATH" (concat "/Library/TeX/texbin" ":" (getenv "PATH"))) | |
| 164 | ||
| 165 | ;;; Packages: | |
| 166 | (setq use-package-always-ensure t) | |
| 167 | (use-package slime | |
| 168 | :config | |
| 169 | (slime-setup '(slime-fancy))) | |
| 170 | (use-package yasnippet | |
| 171 | :init | |
| 172 | (yas-global-mode 1)) | |
| 173 | (use-package chinese-fonts-setup | |
| 174 | :config | |
| 175 | (chinese-fonts-setup-enable)) | |
| 176 | ||
| 177 | ;; disable smart-mode-line on 2017/01/09 | |
| 178 | ||
| 179 | ;; (use-package smart-mode-line | |
| 180 | ;; :config | |
| 181 | ;; (setq sml/theme 'light) | |
| 182 | ;; (sml/setup)) | |
| 183 | ||
| 184 | ;; disable on 2017/01/09 | |
| 185 | ;; enable on 2017/03/15 | |
| 186 | ||
| 187 | ;; (use-package eclipse-theme) | |
| 188 | ||
| 189 | (use-package multiple-cursors | |
| 190 | :config | |
| 191 | (global-set-key (kbd "<f7>") 'mc/mark-next-like-this) | |
| 192 | (global-set-key (kbd "<f8>") 'mc/mark-previous-like-this) | |
| 193 | (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this) | |
| 194 | (global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)) | |
| 195 | (use-package counsel | |
| 196 | :config | |
| 197 | (global-set-key (kbd "M-x") 'counsel-M-x) | |
| 198 | (global-set-key (kbd "C-x C-f") 'counsel-find-file) | |
| 199 | (global-set-key (kbd "<f1> f") 'counsel-describe-function) | |
| 200 | (global-set-key (kbd "<f1> v") 'counsel-describe-variable) | |
| 201 | (global-set-key (kbd "<f1> l") 'counsel-load-library) | |
| 202 | (global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol) | |
| 203 | (global-set-key (kbd "<f2> u") 'counsel-unicode-char) | |
| 204 | (global-set-key (kbd "C-c g") 'counsel-git) | |
| 205 | (global-set-key (kbd "C-c j") 'counsel-git-grep) | |
| 206 | (global-set-key (kbd "C-c k") 'counsel-ag) | |
| 207 | (global-set-key (kbd "C-x l") 'counsel-locate) | |
| 208 | (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) | |
| 209 | (define-key read-expression-map (kbd "C-r") 'counsel-expression-history)) | |
| 210 | (use-package swiper | |
| 211 | :init | |
| 212 | (ivy-mode 1) | |
| 213 | (setq ivy-use-virtual-buffers t) | |
| 214 | :config | |
| 215 | (global-set-key "\C-s" 'swiper) | |
| 216 | (global-set-key (kbd "C-c C-r") 'ivy-resume) | |
| 217 | (global-set-key (kbd "<f6>") 'ivy-resume)) | |
| 218 | (use-package | |
| 219 | magit | |
| 220 | :config | |
| 221 | (global-set-key (kbd "C-x g") 'magit-status) | |
| 222 | (global-set-key (kbd "C-x M-g") 'magit-dispatch-popup)) | |
| 223 | (use-package ace-jump-mode | |
| 224 | :bind ("C-x j" . ace-jump-mode))
| |
| 225 | (use-package lispy | |
| 226 | :init | |
| 227 | (add-hook 'emacs-lisp-mode-hook | |
| 228 | (lambda () (lispy-mode 1))) | |
| 229 | (add-hook 'lisp-mode-hook | |
| 230 | (lambda () (lispy-mode 1))) | |
| 231 | (add-hook 'scheme-mode-hook | |
| 232 | (lambda () (lispy-mode 1)))) | |
| 233 | (use-package hydra | |
| 234 | :config | |
| 235 | (defhydra hydra-zoom (global-map "<f2>") | |
| 236 | "zoom" | |
| 237 | ("g" text-scale-increase "in")
| |
| 238 | ("l" text-scale-decrease "out")
| |
| 239 | ("r" (text-scale-set 0) "reset")
| |
| 240 | ("0" (text-scale-set 0) :bind nil :exit t)
| |
| 241 | ("1" (text-scale-set 0) nil :bind nil :exit t))
| |
| 242 | (defhydra hydra-buffer-menu (:color pink | |
| 243 | :hint nil) | |
| 244 | " | |
| 245 | ^Mark^ ^Unmark^ ^Actions^ ^Search | |
| 246 | ^^^^^^^^----------------------------------------------------------------- | |
| 247 | _m_: mark _u_: unmark _x_: execute _R_: re-isearch | |
| 248 | _s_: save _U_: unmark up _b_: bury _I_: isearch | |
| 249 | _d_: delete ^ ^ _g_: refresh _O_: multi-occur | |
| 250 | _D_: delete up ^ ^ _T_: files only: % -28`Buffer-menu-files-only | |
| 251 | _~_: modified | |
| 252 | " | |
| 253 | ("m" Buffer-menu-mark)
| |
| 254 | ("u" Buffer-menu-unmark)
| |
| 255 | ("U" Buffer-menu-backup-unmark)
| |
| 256 | ("d" Buffer-menu-delete)
| |
| 257 | ("D" Buffer-menu-delete-backwards)
| |
| 258 | ("s" Buffer-menu-save)
| |
| 259 | ("~" Buffer-menu-not-modified)
| |
| 260 | ("x" Buffer-menu-execute)
| |
| 261 | ("b" Buffer-menu-bury)
| |
| 262 | ("g" revert-buffer)
| |
| 263 | ("T" Buffer-menu-toggle-files-only)
| |
| 264 | ("O" Buffer-menu-multi-occur :color blue)
| |
| 265 | ("I" Buffer-menu-isearch-buffers :color blue)
| |
| 266 | ("R" Buffer-menu-isearch-buffers-regexp :color blue)
| |
| 267 | ("c" nil "cancel")
| |
| 268 | ("v" Buffer-menu-select "select" :color blue)
| |
| 269 | ("o" Buffer-menu-other-window "other-window" :color blue)
| |
| 270 | ("q" quit-window "quit" :color blue))
| |
| 271 | (define-key Buffer-menu-mode-map "." 'hydra-buffer-menu/body) | |
| 272 | (defhydra hydra-window (:color red | |
| 273 | :columns nil) | |
| 274 | "window" | |
| 275 | ("h" windmove-left nil)
| |
| 276 | ("j" windmove-down nil)
| |
| 277 | ("k" windmove-up nil)
| |
| 278 | ("l" windmove-right nil)
| |
| 279 | ("H" hydra-move-splitter-left nil)
| |
| 280 | ("J" hydra-move-splitter-down nil)
| |
| 281 | ("K" hydra-move-splitter-up nil)
| |
| 282 | ("L" hydra-move-splitter-right nil)
| |
| 283 | ("v" (lambda ()
| |
| 284 | (interactive) | |
| 285 | (split-window-right) | |
| 286 | (windmove-right)) | |
| 287 | "vert") | |
| 288 | ("x" (lambda ()
| |
| 289 | (interactive) | |
| 290 | (split-window-below) | |
| 291 | (windmove-down)) | |
| 292 | "horz") | |
| 293 | ("t" transpose-frame "'" :exit t)
| |
| 294 | ("o" delete-other-windows "one" :exit t)
| |
| 295 | ("a" ace-window "ace")
| |
| 296 | ("s" ace-swap-window "swap")
| |
| 297 | ("d" ace-delete-window "del")
| |
| 298 | ("i" ace-maximize-window "ace-one" :exit t)
| |
| 299 | ("b" ido-switch-buffer "buf")
| |
| 300 | ("m" headlong-bookmark-jump "bmk")
| |
| 301 | ("q" nil "cancel")
| |
| 302 | ("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo")
| |
| 303 | ("f" nil))
| |
| 304 | (global-set-key (kbd "C-M-o") 'hydra-window/body)) | |
| 305 | (use-package ace-window | |
| 306 | :init | |
| 307 | (bind-key "M-p" 'ace-window) | |
| 308 | (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))) | |
| 309 | (use-package expand-region | |
| 310 | :ensure expand-region | |
| 311 | :bind ("C-=" . er/expand-region))
| |
| 312 | ||
| 313 | ;; 2016/12/11 | |
| 314 | ||
| 315 | (use-package | |
| 316 | elpy | |
| 317 | :init (elpy-enable) | |
| 318 | :config (setq elpy-rpc-backend "jedi") | |
| 319 | (elpy-use-ipython) | |
| 320 | :bind | |
| 321 | ("C-c <down>" . elpy-nav-forward-block)
| |
| 322 | ("C-c <up>" . elpy-nav-backward-block)
| |
| 323 | ("C-c <left>" . elpy-nav-backward-indent)
| |
| 324 | ("C-c <right>" . elpy-nav-forward-indent)
| |
| 325 | ("C-c f" . elpy-autopep8-fix-code)
| |
| 326 | ("M-*" . pop-tag-mark)
| |
| 327 | ("C-<tab>" . elpy-company-backend))
| |
| 328 | ||
| 329 | ;; 2017/01/05 | |
| 330 | (use-package hl-sexp | |
| 331 | :config | |
| 332 | (add-hook 'lisp-mode-hook | |
| 333 | #'hl-sexp-mode)) | |
| 334 | ;; 2017/01/09 | |
| 335 | ||
| 336 | ;; rainbow-delimiters will determin the color-theme based on this | |
| 337 | ;; variable | |
| 338 | (setq frame-background-mode 'light) | |
| 339 | (use-package rainbow-delimiters | |
| 340 | :config | |
| 341 | (add-hook 'emacs-lisp-mode-hook | |
| 342 | #'rainbow-delimiters-mode) | |
| 343 | (add-hook 'lisp-mode-hook | |
| 344 | #'rainbow-delimiters-mode) | |
| 345 | (add-hook 'scheme-mode-hook | |
| 346 | #'rainbow-delimiters-mode)) | |
| 347 | (use-package rainbow-blocks | |
| 348 | :config | |
| 349 | (add-hook 'emacs-lisp-mode-hook | |
| 350 | #'rainbow-blocks-mode) | |
| 351 | (add-hook 'lisp-mode-hook | |
| 352 | #'rainbow-blocks-mode) | |
| 353 | (add-hook 'scheme-mode-hook | |
| 354 | #'rainbow-blocks-mode)) | |
| 355 | ;; (use-package solarized-theme | |
| 356 | ;; :config | |
| 357 | ;; ;; (load-theme 'solarized-dark) | |
| 358 | ;; ;; (add-hook 'lisp-mode-hook | |
| 359 | ;; ;; (lambda () | |
| 360 | ;; ;; (load-theme 'solarized-dark t))) | |
| 361 | ||
| 362 | ;; (add-hook 'emacs-lisp-mode-hook | |
| 363 | ;; (lambda () | |
| 364 | ;; (load-theme 'solarized-dark t)))) | |
| 365 | ||
| 366 | ;; (use-package theme-changer | |
| 367 | ;; :config | |
| 368 | ;; (setq calendar-location-name "Beijing, China") | |
| 369 | ;; (setq calendar-latitude 39.55) | |
| 370 | ;; (setq calendar-longitude 116.23) | |
| 371 | ;; ;; (change-theme 'base16-monokai | |
| 372 | ;; ;; 'base16-monokai) | |
| 373 | ||
| 374 | ;; (change-theme 'solarized-light | |
| 375 | ;; 'solarized-light)) | |
| 376 | ||
| 377 | ;; Try highlight-sexps | |
| 378 | ||
| 379 | (require 'highlight-sexps) | |
| 380 | (add-hook 'emacs-lisp-mode-hook | |
| 381 | #'highlight-sexps-mode) | |
| 382 | (add-hook 'lisp-mode-hook | |
| 383 | #'highlight-sexps-mode) | |
| 384 | (add-hook 'scheme-mode-hook | |
| 385 | #'highlight-sexps-mode) | |
| 386 | ||
| 387 | ;; For quicklisp-slime-helper | |
| 388 | (let ((quicklisp-slime-helper | |
| 389 | (expand-file-name "~/quicklisp/slime-helper.el"))) | |
| 390 | (when (file-exists-p quicklisp-slime-helper) | |
| 391 | (load quicklisp-slime-helper))) | |
| 392 | ||
| 393 | ;; 2016/12/30 | |
| 394 | ;; (use-package fcitx | |
| 395 | ;; :config | |
| 396 | ;; (fcitx-aggressive-setup) | |
| 397 | ;; (setq fcitx-use-dbus t)) | |
| 398 | ||
| 399 | ;; 2017/01/16 | |
| 400 | (use-package sml-mode | |
| 401 | ;; `C-c C-s` start sml REPL | |
| 402 | ) | |
| 403 | ;; 2017/01/25 | |
| 404 | (use-package geiser | |
| 405 | ;; `C-c C-a` runs the command geiser-mode-switch-to-repl-and-enter. `C-c C-k` compile current buffer, don't forget to add `#lang racket` and `(provide (all-defined-out))` at the beginning of source file. `C-c C-q` exit racket REPL. or `C-u C-c C-q` | |
| 406 | ;; There is a snippet named RACKETMLIMIT, it's used to limit memory used by racket. It can avoid Racket and Emacs get stuck when program is in indefinite loop. | |
| 407 | :config | |
| 408 | (setq geiser-active-implementations '(racket))) | |
| 409 | ;; 2017/01/26 | |
| 410 | (use-package bfbuilder | |
| 411 | :config | |
| 412 | (add-to-list 'auto-mode-alist '("\\.bf$" . bfbuilder-mode)))
| |
| 413 | ;; 2017/01/30 | |
| 414 | (use-package haskell-mode | |
| 415 | :bind | |
| 416 | (("C-c C-l" . haskell-process-load-or-reload)
| |
| 417 | ("C-c C-z" . haskell-interactive-bring)
| |
| 418 | ("C-c C-t" . haskell-process-do-type)
| |
| 419 | ("C-c C-i" . haskell-process-do-info)
| |
| 420 | ("C-c C-c" . haskell-process-cabal-build)
| |
| 421 | ("C-c C-k" . haskell-interactive-mode-clear)
| |
| 422 | ("C-c C" . haskell-process-cabal)))
| |
| 423 | ;; (use-package groovy-mode) | |
| 424 | ;; 2017/02/04 | |
| 425 | ;; M-. to jump to the definition | |
| 426 | ;; M-, to jump back | |
| 427 | ;; C-c C-d to see the documentation | |
| 428 | ;; C-c C-k to refresh Rails environment | |
| 429 | ;; C-M-i to complete the symbol at point | |
| 430 | ||
| 431 | (use-package robe | |
| 432 | :config | |
| 433 | (add-hook 'ruby-mode-hook | |
| 434 | 'robe-mode)) | |
| 435 | ||
| 436 | ;; 2017/03/24 | |
| 437 | ;; 2017/08/16 | |
| 438 | (use-package powerline | |
| 439 | :config | |
| 440 | ;; (powerline-center-theme) | |
| 441 | (setq ns-use-srgb-colorspace nil) | |
| 442 | (powerline-default-theme)) | |
| 443 | ||
| 444 | ;; 2017/03/29 | |
| 445 | (use-package company | |
| 446 | :config | |
| 447 | ;; (add-hook 'after-init-hook 'global-company-mode) | |
| 448 | ) | |
| 449 | ||
| 450 | (use-package py-yapf | |
| 451 | :config | |
| 452 | (add-hook 'python-mode-hook 'py-yapf-enable-on-save)) | |
| 453 | ||
| 454 | (use-package chinese-pyim | |
| 455 | :ensure t | |
| 456 | :config | |
| 457 | ;; 激活 basedict 拼音词库 | |
| 458 | (use-package chinese-pyim-basedict | |
| 459 | :ensure t | |
| 460 | :config (chinese-pyim-basedict-enable)) | |
| 461 | ||
| 462 | (use-package chinese-pyim-greatdict | |
| 463 | :ensure t | |
| 464 | :config (chinese-pyim-greatdict-enable)) | |
| 465 | ||
| 466 | (setq default-input-method "chinese-pyim") | |
| 467 | ||
| 468 | ;; 我使用全拼 | |
| 469 | (setq pyim-default-scheme 'quanpin) | |
| 470 | ||
| 471 | ;; 设置 pyim 探针设置,这是 pyim 高级功能设置,可以实现 *无痛* 中英文切换 :-) | |
| 472 | ;; 我自己使用的中英文动态切换规则是: | |
| 473 | ;; 1. 光标只有在注释里面时,才可以输入中文。 | |
| 474 | ;; 2. 光标前是汉字字符时,才能输入中文。 | |
| 475 | ;; 3. 使用 M-j 快捷键,强制将光标前的拼音字符串转换为中文。 | |
| 476 | (setq-default pyim-english-input-switch-functions | |
| 477 | '(pyim-probe-dynamic-english | |
| 478 | pyim-probe-isearch-mode | |
| 479 | pyim-probe-program-mode | |
| 480 | pyim-probe-org-structure-template)) | |
| 481 | ||
| 482 | (setq-default pyim-punctuation-half-width-functions | |
| 483 | '(pyim-probe-punctuation-line-beginning | |
| 484 | pyim-probe-punctuation-after-punctuation)) | |
| 485 | ||
| 486 | ;; 开启拼音搜索功能 | |
| 487 | (setq pyim-isearch-enable-pinyin-search t) | |
| 488 | ||
| 489 | ;; 使用 pupup-el 来绘制选词框 | |
| 490 | (setq pyim-page-tooltip 'pos-tip) | |
| 491 | (setq x-gtk-use-system-tooltips t) | |
| 492 | ||
| 493 | ;; 选词框显示5个候选词 | |
| 494 | (setq pyim-page-length 5) | |
| 495 | ||
| 496 | ;; 让 Emacs 启动时自动加载 pyim 词库 | |
| 497 | (add-hook 'emacs-startup-hook | |
| 498 | #'(lambda () (pyim-restart-1 t))) | |
| 499 | :bind | |
| 500 | (("M-j" . pyim-convert-code-at-point) ;与 pyim-probe-dynamic-english 配合
| |
| 501 | ("C-;" . pyim-delete-word-from-personal-buffer)))
| |
| 502 | ||
| 503 | ;; 2017/04/02 | |
| 504 | ;; (use-package jdee) | |
| 505 | ||
| 506 | ;; 2017/04/11 | |
| 507 | (use-package hexo) | |
| 508 | ||
| 509 | ;; 2017/04/25 | |
| 510 | (use-package emmet-mode | |
| 511 | :config | |
| 512 | ;; Auto-start on any markup modes | |
| 513 | (add-hook 'sgml-mode-hook 'emmet-mode) | |
| 514 | ;; enable Emmet's css abbreviation | |
| 515 | (add-hook 'css-mode-hook 'emmet-mode)) | |
| 516 | ||
| 517 | (use-package jinja2-mode) | |
| 518 | ||
| 519 | ;; 2017/05/16 | |
| 520 | ;; (use-package base16-theme) | |
| 521 | ||
| 522 | ;; 2017/06/17 | |
| 523 | (use-package ensime | |
| 524 | :ensure t) | |
| 525 | ||
| 526 | ;; 2017/07/06 | |
| 527 | (use-package markdown-mode | |
| 528 | :ensure t | |
| 529 | :commands (markdown-mode gfm-mode) | |
| 530 | :mode (("README\\.md\\'" . gfm-mode)
| |
| 531 | ("\\.md\\'" . markdown-mode)
| |
| 532 | ("\\.markdown\\'" . markdown-mode))
| |
| 533 | :init (setq markdown-command "multimarkdown")) | |
| 534 | ||
| 535 | ;; 2017/07/16 | |
| 536 | ;; Open .v files with Proof General's Coq mode | |
| 537 | (load "~/Documents/Dot.emacs/extra/PG/generic/proof-site") | |
| 538 | ||
| 539 | (use-package company-coq | |
| 540 | :ensure t | |
| 541 | :config (add-hook 'coq-mode-hook #'company-coq-mode)) | |
| 542 | ||
| 543 | ;; 2017/08/04 | |
| 544 | ;; (use-package auctex) | |
| 545 | (load "auctex.el" nil t t) | |
| 546 | (setq TeX-auto-save t) | |
| 547 | (setq TeX-parse-self t) | |
| 548 | (setq-default TeX-master nil) | |
| 549 | (add-hook 'LaTeX-mode-hook 'visual-line-mode) | |
| 550 | (add-hook 'LaTeX-mode-hook 'flyspell-mode) | |
| 551 | (add-hook 'LaTeX-mode-hook 'LaTeX-math-mode) | |
| 552 | (add-hook 'LaTeX-mode-hook 'turn-on-reftex) | |
| 553 | (setq reftex-plug-into-AUCTeX t) | |
| 554 | ||
| 555 | ;; 2017/08/11 | |
| 556 | (use-package fzf) | |
| 557 | ||
| 558 | ;; 2017/08/15 | |
| 559 | (use-package | |
| 560 | sphinx-doc | |
| 561 | :config (add-hook | |
| 562 | 'python-mode-hook | |
| 563 | (lambda () | |
| 564 | (require 'sphinx-doc) | |
| 565 | (sphinx-doc-mode t)))) | |
| 566 | (use-package | |
| 567 | circe | |
| 568 | :init | |
| 569 | (load ".private.el") | |
| 570 | :config (setq circe-network-options | |
| 571 | `(("Freenode"
| |
| 572 | :tls t | |
| 573 | :nick "abel-abel" | |
| 574 | :sasl-username "abel-abel" | |
| 575 | :sasl-password ,freenode-password | |
| 576 | :channels ("#GentooWithoutJUJU"
| |
| 577 | "#archlinux-cn" | |
| 578 | "#lisp" | |
| 579 | "#lispgames")))) | |
| 580 | (setq circe-reduce-lurker-spam t)) | |
| 581 | ||
| 582 | ;; 2017/08/16 | |
| 583 | ;; (use-package inkpot-theme) | |
| 584 | ||
| 585 | ;; 2017/08/23 | |
| 586 | ;; (use-package tuareg) | |
| 587 | ;; (use-package utop) | |
| 588 | ;; (use-package merlin) | |
| 589 | ;; (setq auto-mode-alist | |
| 590 | ;; (append '(("\\.ml[ily]?$" . tuareg-mode)
| |
| 591 | ;; ("\\.topml$" . tuareg-mode))
| |
| 592 | ;; auto-mode-alist)) | |
| 593 | ;; (autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t) | |
| 594 | ;; (add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer) | |
| 595 | ;; (add-hook 'tuareg-mode-hook 'merlin-mode) | |
| 596 | ;; (setq merlin-use-auto-complete-mode t) | |
| 597 | ;; (setq merlin-error-after-save nil) | |
| 598 | ;; | |
| 599 | ;; 2017/08/24 | |
| 600 | (use-package helm) | |
| 601 | (global-set-key (kbd "C-x x") 'helm-M-x) | |
| 602 | ||
| 603 | ;; 2017/09/05 | |
| 604 | (use-package epresent) | |
| 605 | (use-package org-present) | |
| 606 | (eval-after-load "org-present" | |
| 607 | '(progn | |
| 608 | (add-hook 'org-present-mode-hook | |
| 609 | (lambda () | |
| 610 | (org-present-big) | |
| 611 | (org-display-inline-images) | |
| 612 | (org-present-hide-cursor) | |
| 613 | (org-present-read-only))) | |
| 614 | (add-hook 'org-present-mode-quit-hook | |
| 615 | (lambda () | |
| 616 | (org-present-small) | |
| 617 | (org-remove-inline-images) | |
| 618 | (org-present-show-cursor) | |
| 619 | (org-present-read-write))))) | |
| 620 | ||
| 621 | (use-package org-tree-slide | |
| 622 | :config | |
| 623 | (global-set-key (kbd "<f8>") 'org-tree-slide-mode) | |
| 624 | (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle) | |
| 625 | (define-key org-tree-slide-mode-map (kbd "<f9>") | |
| 626 | 'org-tree-slide-move-previous-tree) | |
| 627 | (define-key org-tree-slide-mode-map (kbd "<f10>") | |
| 628 | 'org-tree-slide-move-next-tree) | |
| 629 | (define-key org-tree-slide-mode-map (kbd "<f11>") | |
| 630 | 'org-tree-slide-content) | |
| 631 | (setq org-tree-slide-skip-outline-level 4) | |
| 632 | (org-tree-slide-narrowing-control-profile) | |
| 633 | (setq org-tree-slide-skip-done nil)) | |
| 634 | ||
| 635 | ;; 2017/09/07 | |
| 636 | (use-package autumn-light-theme) | |
| 637 | ||
| 638 | ;; 2017/09/12 | |
| 639 | (use-package yaml-mode | |
| 640 | :config | |
| 641 | (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode))
| |
| 642 | (add-hook 'yaml-mode-hook | |
| 643 | '(lambda () | |
| 644 | (define-key yaml-mode-map "\C-m" 'newline-and-indent)))) | |
| 645 | ||
| 646 | ;;; Platform: | |
| 647 | (cond | |
| 648 | ((string-equal system-type | |
| 649 | "darwin") | |
| 650 | (setq inferior-lisp-program "/usr/local/bin/sbcl") | |
| 651 | (setq initial-frame-alist | |
| 652 | '((width . 145) (height . 50)))) | |
| 653 | ((string-equal system-type | |
| 654 | "gnu/linux") | |
| 655 | (setq initial-frame-alist '((width . 91) (height . 24))) | |
| 656 | (setq inferior-lisp-program "/usr/bin/clisp")) | |
| 657 | ((string-equal system-type | |
| 658 | "windows-nt") | |
| 659 | (setq initial-frame-alist '((width . 120) (height . 45))))) |