Mercurial > hg > config
annotate .emacs @ 297:618db1b1f34b
dmenu + emacs, baby
| author | Jeff Hammel <jhammel@mozilla.com> | 
|---|---|
| date | Sat, 11 May 2013 10:00:48 -0700 | 
| parents | c738405d0d6c | 
| children | cc2f7d8307d0 | 
| rev | line source | 
|---|---|
| 280 | 1 ;; emacs server (what a piece of crap) | 
| 297 | 2 ;; (commented out for now) | 
| 3 ;; (require 'server) | |
| 4 ;; (or (server-running-p) | |
| 5 ;; (server-start)) | |
| 6 | |
| 7 ;;;; bars | |
| 8 | |
| 9 ;; Turn off the status bar and on the mouse if we're not in a window system | |
| 10 (menu-bar-mode (if window-system 1 -1)) | |
| 11 | |
| 12 ;; no need for a tool bar | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 13 (if (boundp 'tool-bar-mode) (tool-bar-mode 0)) | 
| 297 | 14 | 
| 15 ;; ...or a startup message | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 16 (setq inhibit-startup-message t) | 
| 297 | 17 | 
| 18 ;; no f-ing backup files | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 19 (setq make-backup-files nil) | 
| 297 | 20 | 
| 21 ;; show trailing whitespace | |
| 22 (setq-default show-trailing-whitespace t) | |
| 23 | |
| 24 ;;;; | |
| 25 | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 26 (put 'downcase-region 'disabled nil) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 27 (setq truncate-lines nil) | 
| 297 | 28 (setq truncate-partial-width-windows nil) | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 29 (setq use-file-dialog nil) | 
| 75 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 30 | 
| 280 | 31 ;; make directories when they don't exist | 
| 32 ;; from http://stackoverflow.com/questions/6830671/how-to-make-emacs-create-intermediate-dirs-when-saving-a-file | |
| 33 (add-hook 'before-save-hook | |
| 34 (lambda () | |
| 35 (when buffer-file-name | |
| 36 (let ((dir (file-name-directory buffer-file-name))) | |
| 37 (when (not (file-exists-p dir)) | |
| 38 (make-directory dir t)))))) | |
| 39 | |
| 297 | 40 ;;;; indentation | 
| 75 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 41 | 
| 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 42 ;; python indentation | 
| 120 
339805e00f03
set python spacing back to four, by popular demand
 Jeff Hammel <jhammel@mozilla.com> parents: 
75diff
changeset | 43 (setq python-indent 4) | 
| 
339805e00f03
set python spacing back to four, by popular demand
 Jeff Hammel <jhammel@mozilla.com> parents: 
75diff
changeset | 44 (setq-default py-indent-offset 4) | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 45 (setq python-guess-indent nil) | 
| 75 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 46 | 
| 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 47 ;; javascript indentation: http://www.brgeight.se/downloads/emacs/javascript.el | 
| 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 48 (setq javascript-indent-level 2) | 
| 148 | 49 (setq js-indent-level 2) | 
| 75 
89a64b0d6146
adding indentation for javascript
 Jeff Hammel <jhammel@mozilla.com> parents: 
62diff
changeset | 50 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 51 (setq-default indent-tabs-mode nil) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 52 (defface extra-whitespace-face '((t (:background "pale green"))) "Used for tabs and such.") | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 53 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 54 (autoload 'doctest-mode "doctest-mode" "doctest editing mode." t) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 55 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 56 (transient-mark-mode 1) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 57 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 58 (put 'upcase-region 'disabled nil) | 
| 297 | 59 | 
| 60 ;;;; line/col #s | |
| 61 | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 62 ;; Show line-number in the mode line | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 63 (line-number-mode 1) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 64 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 65 ;; Show column-number in the mode line | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 66 (column-number-mode 1) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 67 | 
| 297 | 68 ;;;; modes | 
| 69 | |
| 70 ;; Bind major editing modes to certain file extensions | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 71 (setq auto-mode-alist (cons '("\\.zcml$" . sgml-mode) auto-mode-alist)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 72 (setq auto-mode-alist (cons '("\\.pt$" . sgml-mode) auto-mode-alist)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 73 (setq auto-mode-alist (cons '("\\.cpt$" . sgml-mode) auto-mode-alist)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 74 (setq auto-mode-alist (cons '("\\.cpy$" . python-mode) auto-mode-alist)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 75 (setq auto-mode-alist (cons '("\\.vpy$" . python-mode) auto-mode-alist)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 76 | 
| 297 | 77 ;; set auto-fill for modes | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 78 (add-hook 'text-mode-hook 'turn-on-auto-fill) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 79 (add-hook 'sgml-mode-hook 'turn-off-auto-fill) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 80 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 81 (setq grep-command "grep -liE") | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 82 | 
| 297 | 83 ;; recent history stuff | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 84 (require 'recentf) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 85 (recentf-mode 1) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 86 (setq recentf-max-menu-items 25) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 87 (global-set-key "\C-x\ \C-r" 'recentf-open-files) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 88 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 89 ;; full-steam-ahead-and-damn-the-torpedoes | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 90 (defun | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 91 full-steam-ahead-and-damn-the-torpedoes | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 92 (prompt) t) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 93 (defalias 'y-or-n-p | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 94 'full-steam-ahead-and-damn-the-torpedoes) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 95 (defalias 'yes-or-no-p | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 96 'full-steam-ahead-and-damn-the-torpedoes) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 97 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 98 (require 'uniquify) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 99 (setq uniquify-buffer-name-style 'post-forward) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 100 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 101 ;; wheel mouse | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 102 (global-set-key [mouse-4] 'scroll-down) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 103 (global-set-key [mouse-5] 'scroll-up) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 104 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 105 ;; substring buffer switching mode | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 106 (iswitchb-mode 1) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 107 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 108 (global-set-key "\M-g" 'goto-line) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 109 | 
| 297 | 110 ;;;; python | 
| 111 | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 112 ;; (when (load "flymake" t) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 113 ;; (defun flymake-pyflakes-init () | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 114 ;; (let* ((temp-file (flymake-init-create-temp-buffer-copy | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 115 ;; 'flymake-create-temp-inplace)) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 116 ;; (local-file (file-relative-name | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 117 ;; temp-file | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 118 ;; (file-name-directory buffer-file-name)))) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 119 ;; (list "pyflakes" (list local-file)))) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 120 ;; (add-to-list 'flymake-allowed-file-name-masks | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 121 ;; '("\\.py\\'" flymake-pyflakes-init))) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 122 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 123 ;; (add-hook 'find-file-hook 'flymake-find-file-hook) | 
| 4 | 124 | 
| 125 (fset 'break "import pdb; pdb.set_trace();\C-a\C-i") | |
| 126 (add-hook 'python-mode-hook | |
| 127 '(lambda () | |
| 128 (local-set-key [(meta ?p) (meta ?p)] 'break))) | 
