Mercurial > dotfiles
annotate .elisp/settings/90.keybindings.el @ 336:ea73ef5dc38c
emacs: avoid weird package.el breakage with newish packages
I've been toting around this package.el from 2009 or so, and something
in the package format seems to have changed that broke me. Thanks to
some related diagnostics by Lucas, I've grabbed the last package.el
that worked with emacs 23 and stashed it here. This seems to work,
modulo some things (notably js2-mode and smex) now seem to require
emacs 24 if you install them using package.el, so this will end up
being brittle on my last couple of emacs23 machines.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Thu, 29 May 2014 14:30:42 -0400 |
parents | 745e7cc9c2cd |
children | b9c8655f12f0 |
rev | line source |
---|---|
77 | 1 ;; Key Bindings |
2 ; M-backspace kills the current buffer | |
3 (global-set-key [(meta backspace)] 'kill-this-buffer) | |
190
5dbff8b65be7
emacs: switch ways of defining M-backsp
Augie Fackler <durin42@gmail.com>
parents:
177
diff
changeset
|
4 (global-set-key "\M-\d" 'kill-this-buffer) |
77 | 5 ; Save early and often, with only one keystroke |
6 (global-set-key [(meta s)] 'save-buffer) | |
7 ; Typing tab is for lesser editors, make hitting return do that | |
128
d59b0340a85a
Man, this is what I wanted all along.
Augie Fackler <durin42@gmail.com>
parents:
126
diff
changeset
|
8 (global-set-key "\C-m" 'indent-new-comment-line) |
77 | 9 ; M-l makes more sense to me for jumping to a line |
10 (global-set-key "\M-l" 'goto-line) | |
11 ; Sometimes C-h is what Backspace sends in a terminal, and I never use C-h | |
12 (global-set-key "\C-h" 'backward-delete-char-untabify) | |
13 ; M-t is what I want for the textmate file finding | |
14 (global-set-key [(meta t)] 'textmate-goto-file) | |
126 | 15 ; M-p for bouncing to the matching paren |
16 (global-set-key [(meta p)] 'bounce-to-other-paren) | |
101 | 17 (global-set-key [(meta control f)] 'textmate-find-in-project-type) |
126 | 18 (global-set-key [(meta shift f)] 'textmate-find-in-project) |
77 | 19 (global-set-key [(meta m)] 'iconify-or-deiconify-frame) |
20 (global-set-key [(control backspace)] 'kill-word) | |
95
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
21 |
168
efe94205bf07
emacs: bind f3 to next-error
Augie Fackler <durin42@gmail.com>
parents:
141
diff
changeset
|
22 (global-set-key [f3] 'next-error) |
289
5fd871a98b5f
emacs: start making an f4-dwim function
Augie Fackler <raf@durin42.com>
parents:
236
diff
changeset
|
23 (defun af-dwim-f4 () (interactive) |
5fd871a98b5f
emacs: start making an f4-dwim function
Augie Fackler <raf@durin42.com>
parents:
236
diff
changeset
|
24 (cond ((string-match "\\.t$" buffer-file-name) |
5fd871a98b5f
emacs: start making an f4-dwim function
Augie Fackler <raf@durin42.com>
parents:
236
diff
changeset
|
25 (textmate-start-compile-in-root |
5fd871a98b5f
emacs: start making an f4-dwim function
Augie Fackler <raf@durin42.com>
parents:
236
diff
changeset
|
26 (concat "make " (file-name-nondirectory buffer-file-name)))))) |
5fd871a98b5f
emacs: start making an f4-dwim function
Augie Fackler <raf@durin42.com>
parents:
236
diff
changeset
|
27 (global-set-key [f4] 'af-dwim-f4) |
177
70dcdb2acade
emacs keybindings: f5 for diff-apply-hunk
Augie Fackler <durin42@gmail.com>
parents:
168
diff
changeset
|
28 (global-set-key [f5] 'diff-apply-hunk) |
168
efe94205bf07
emacs: bind f3 to next-error
Augie Fackler <durin42@gmail.com>
parents:
141
diff
changeset
|
29 |
101 | 30 ;; M-j for jump to function definition |
141
e30655eb7050
textmate.el: synced with upstream
Augie Fackler <durin42@gmail.com>
parents:
128
diff
changeset
|
31 (global-set-key [(meta j)] 'textmate-goto-symbol) |
101 | 32 |
33 ;; commit emacs heresy? | |
236
3e1ec121efaf
emacs: use smex as a replacement for execute-extended-command
Augie Fackler <durin42@gmail.com>
parents:
190
diff
changeset
|
34 (global-set-key [(meta r)] 'smex) |
3e1ec121efaf
emacs: use smex as a replacement for execute-extended-command
Augie Fackler <durin42@gmail.com>
parents:
190
diff
changeset
|
35 (global-set-key (kbd "M-R") 'smex-major-mode-commands) |
101 | 36 |
311
745e7cc9c2cd
emacs: bind C-x C-b to ibuffer, which is awesome
Augie Fackler <raf@durin42.com>
parents:
289
diff
changeset
|
37 (global-set-key (kbd "C-x C-b") 'ibuffer) |
745e7cc9c2cd
emacs: bind C-x C-b to ibuffer, which is awesome
Augie Fackler <raf@durin42.com>
parents:
289
diff
changeset
|
38 |
101 | 39 ;; Mac-like keybindings for undo/cut/copy/paste |
40 (global-set-key [(meta c)] 'kill-ring-save) | |
41 (global-set-key [(meta x)] 'kill-region) | |
42 (global-set-key [(meta z)] 'undo) | |
43 (global-set-key [(meta v)] 'yank) | |
44 (global-set-key [M-return] 'fullscreen) | |
45 (global-set-key [(control v)] 'yank-pop) | |
46 | |
47 ;; Fixup hooks for modes that like taking my keys back | |
48 (add-hook 'text-mode-hook '(lambda () | |
49 (define-key text-mode-map "\M-s" | |
50 'save-buffer))) | |
51 (add-hook 'comint-mode-hook '(lambda () | |
52 (local-set-key "\M-r" | |
53 'execute-extended-command))) | |
54 | |
95
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
55 (defun server-save-buffer-and-finish () |
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
56 (interactive) |
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
57 (save-buffer) (server-edit)) |
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
58 (add-hook 'server-switch-hook |
df45e402581c
Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents:
77
diff
changeset
|
59 '(lambda ()(local-set-key "\M-s" 'server-save-buffer-and-finish ))) |