Mercurial > hg > config
annotate .emacs @ 319:18683536bc57
adding example scripts for my own posterity
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Sat, 08 Jun 2013 07:27:37 -0700 |
parents | 6095d439d1f2 |
children | a9d3f1210506 |
rev | line source |
---|---|
280 | 1 ;; emacs server (what a piece of crap) |
299
cc2f7d8307d0
maybe we have that server after all
Jeff Hammel <jhammel@mozilla.com>
parents:
297
diff
changeset
|
2 (require 'server) |
cc2f7d8307d0
maybe we have that server after all
Jeff Hammel <jhammel@mozilla.com>
parents:
297
diff
changeset
|
3 (or (server-running-p) |
cc2f7d8307d0
maybe we have that server after all
Jeff Hammel <jhammel@mozilla.com>
parents:
297
diff
changeset
|
4 (server-start)) |
297 | 5 |
6 ;;;; bars | |
7 | |
8 ;; Turn off the status bar and on the mouse if we're not in a window system | |
9 (menu-bar-mode (if window-system 1 -1)) | |
10 | |
11 ;; 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
|
12 (if (boundp 'tool-bar-mode) (tool-bar-mode 0)) |
297 | 13 |
14 ;; ...or a startup message | |
309 | 15 ;; instead, it'd be nice to start with a list of recent files (recentf) |
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 | |
300 | 24 ;;;; ??? no idea |
297 | 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:
62
diff
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:
62
diff
changeset
|
41 |
89a64b0d6146
adding indentation for javascript
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
42 ;; python indentation |
120
339805e00f03
set python spacing back to four, by popular demand
Jeff Hammel <jhammel@mozilla.com>
parents:
75
diff
changeset
|
43 (setq python-indent 4) |
339805e00f03
set python spacing back to four, by popular demand
Jeff Hammel <jhammel@mozilla.com>
parents:
75
diff
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:
62
diff
changeset
|
46 |
89a64b0d6146
adding indentation for javascript
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
47 ;; javascript indentation: http://www.brgeight.se/downloads/emacs/javascript.el |
89a64b0d6146
adding indentation for javascript
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
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:
62
diff
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 | |
309 | 61 ;;;; Show line and column numbers in the mode line |
0
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
62 (line-number-mode 1) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
63 (column-number-mode 1) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
64 |
309 | 65 |
297 | 66 ;;;; modes |
67 | |
68 ;; 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
|
69 (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
|
70 (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
|
71 (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
|
72 (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
|
73 (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
|
74 |
300 | 75 ;; set auto-fill for appropriate modes |
0
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
76 (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
|
77 (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
|
78 |
300 | 79 ;; set the grep command....for some reason |
0
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
80 (setq grep-command "grep -liE") |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
81 |
300 | 82 |
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 |
300 | 89 ;;;; full-steam-ahead-and-damn-the-torpedoes |
0
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 |
300 | 101 ;;;; |
102 | |
0
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
103 ;; wheel mouse |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
104 (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
|
105 (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
|
106 |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
107 ;; substring buffer switching mode |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
108 (iswitchb-mode 1) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
109 |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
110 (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
|
111 |
297 | 112 ;;;; python |
113 | |
0
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
114 ;; (when (load "flymake" t) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
115 ;; (defun flymake-pyflakes-init () |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
116 ;; (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
|
117 ;; 'flymake-create-temp-inplace)) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
118 ;; (local-file (file-relative-name |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
119 ;; temp-file |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
120 ;; (file-name-directory buffer-file-name)))) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
121 ;; (list "pyflakes" (list local-file)))) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
122 ;; (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
|
123 ;; '("\\.py\\'" flymake-pyflakes-init))) |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
124 |
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
125 ;; (add-hook 'find-file-hook 'flymake-find-file-hook) |
4 | 126 |
127 (fset 'break "import pdb; pdb.set_trace();\C-a\C-i") | |
128 (add-hook 'python-mode-hook | |
129 '(lambda () | |
130 (local-set-key [(meta ?p) (meta ?p)] 'break))) |