Mercurial > dotfiles
annotate .emacs @ 19:b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Mon, 08 Dec 2008 10:58:06 -0600 |
parents | 34fd1e79495b |
children | 8715ccb6f61b |
rev | line source |
---|---|
0 | 1 ;; Augie Fackler's .emacs file |
2 ; Places I've stolen from: | |
3 ; Karl Fogel: http://svn.red-bean.com/repos/kfogel/trunk | |
4 ; Dave Anderson: | |
5 | |
6 (setq load-path (cons (expand-file-name "~/.elisp") load-path)) | |
7 ; Better buffer switching and file loading (load first in case we need the | |
8 ; * Messages * buffer) | |
9 (require 'ido) | |
8
6b651c7265f2
Flex matching for ido-mode.
Augie Fackler <durin42@gmail.com>
parents:
7
diff
changeset
|
10 (setq ido-enable-flex-matching t) |
0 | 11 (ido-mode t) |
12 | |
19
b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
Augie Fackler <durin42@gmail.com>
parents:
14
diff
changeset
|
13 (require 'python-mode) |
b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
Augie Fackler <durin42@gmail.com>
parents:
14
diff
changeset
|
14 (require 'ipython) |
b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
Augie Fackler <durin42@gmail.com>
parents:
14
diff
changeset
|
15 |
0 | 16 (require 'show-wspace) |
17 | |
12
d4d720c4c416
Add mercurial support to emacs. Improve setting of PYTHONPATH in there.
Augie Fackler <durin42@gmail.com>
parents:
8
diff
changeset
|
18 (require 'mercurial) |
d4d720c4c416
Add mercurial support to emacs. Improve setting of PYTHONPATH in there.
Augie Fackler <durin42@gmail.com>
parents:
8
diff
changeset
|
19 |
7
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
20 ; Clojure |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
21 (require 'clojure-auto) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
22 (setq auto-mode-alist (cons '("\\.clj$" . clojure-mode) auto-mode-alist)) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
23 |
0 | 24 ; Start the server so that emacsclient will work |
25 ; TODO: is there a way to *not* start a server if one was already running? | |
26 (server-start) | |
27 | |
28 ; All lines should end in a newline | |
29 (setq require-final-newline t) | |
30 | |
31 ; disable tabs | |
32 (setq tab-width 4) | |
33 (setq-default indent-tabs-mode nil) | |
34 | |
7
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
35 ; use tab for indent or complete |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
36 (defun indent-or-expand (arg) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
37 "Either indent according to mode, or expand the word preceding |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
38 point." |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
39 (interactive "*P") |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
40 (if (and |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
41 (or (bobp) (= ?w (char-syntax (char-before)))) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
42 (or (eobp) (not (= ?w (char-syntax (char-after)))))) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
43 (dabbrev-expand arg) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
44 (indent-according-to-mode))) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
45 |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
46 (defun af-tab-fix () |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
47 (local-set-key [tab] 'indent-or-expand)) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
48 |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
49 ;; add hooks for modes you want to use the tab completion for: |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
50 (add-hook 'c-mode-hook 'af-tab-fix) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
51 (add-hook 'sh-mode-hook 'af-tab-fix) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
52 (add-hook 'emacs-lisp-mode-hook 'af-tab-fix) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
53 (add-hook 'clojure-mode-hook 'af-tab-fix) |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
54 |
0 | 55 (defun af-python-mode-hook () |
56 ; highlight tabs in Python | |
57 (make-variable-buffer-local 'font-lock-mode-hook) | |
58 (add-hook 'font-lock-mode-hook 'show-ws-highlight-tabs) | |
59 (make-variable-buffer-local 'python-indent) | |
19
b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
Augie Fackler <durin42@gmail.com>
parents:
14
diff
changeset
|
60 (if (and buffer-file-name (string-match "melange" buffer-file-name)) |
b5d75594b356
Add support for the ipython-mode stuff and remove vestigial pymacs code.
Augie Fackler <durin42@gmail.com>
parents:
14
diff
changeset
|
61 (set-variable 'python-indent 2)) |
7
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
62 (af-tab-fix) |
0 | 63 ) |
64 (add-hook 'python-mode-hook 'af-python-mode-hook) | |
65 | |
66 | |
67 ; text-mode tries to use M-s for something other than my save shortcut. | |
68 ; That's evil. Stop it from doing that. | |
69 (add-hook 'text-mode-hook '(lambda () | |
70 (define-key text-mode-map "\M-s" | |
71 'save-buffer))) | |
72 | |
73 ; Cleanup whitespace before saves. | |
74 (add-hook 'before-save-hook '(lambda () | |
75 (whitespace-cleanup))) | |
76 | |
77 ; Disable that startup screen | |
78 (setq inhibit-startup-message t) | |
79 | |
80 ; Basically everything I do is in version control, stop saving backup files | |
81 (setq make-backup-files nil) | |
82 | |
83 ; Set some pretty colors that are gentler on my eyes | |
84 (setq default-frame-alist | |
85 '((width . 80) | |
86 (cursor-color . "white") | |
87 (cursor-type . box) | |
88 (foreground-color . "white") | |
89 (background-color . "black") | |
90 ) | |
91 ) | |
7
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
92 ; always highlight matching paren |
9541f7e47514
Some edits to .emacs after my playing with Clojure, also added Clojure support files.
Augie Fackler <durin42@gmail.com>
parents:
0
diff
changeset
|
93 (show-paren-mode 1) |
0 | 94 |
95 ;; Desktop mode to remember buffers | |
96 (load "desktop") | |
97 (setq desktop-enable t) | |
98 | |
99 ;; Automatically revert unedited files that change on the underlying | |
100 ;; system. | |
101 (global-auto-revert-mode) | |
102 | |
103 ;; Key Bindings | |
104 ; M-backspace kills the current buffer | |
105 (global-set-key [(meta backspace)] 'kill-this-buffer) | |
106 ; Save early and often, with only one keystroke | |
107 (global-set-key [(meta s)] 'save-buffer) | |
108 ; Typing tab is for lesser editors, make hitting return do that | |
109 (global-set-key "\C-m" 'newline-and-indent) | |
14
34fd1e79495b
Fix for backspace being broken in some terminal emulators.
Augie Fackler <durin42@gmail.com>
parents:
12
diff
changeset
|
110 ; Sometimes C-h is what Backspace sends in a terminal, and I never use C-h |
34fd1e79495b
Fix for backspace being broken in some terminal emulators.
Augie Fackler <durin42@gmail.com>
parents:
12
diff
changeset
|
111 (global-set-key "\C-h" 'backward-delete-char-untabify) |