annotate .elisp/settings/90.keybindings.el @ 289:5fd871a98b5f

emacs: start making an f4-dwim function I've had one at work, but only now am getting around to it here.
author Augie Fackler <raf@durin42.com>
date Wed, 17 Oct 2012 08:21:15 -0500
parents 3e1ec121efaf
children 745e7cc9c2cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
1 ;; Key Bindings
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
2 ; M-backspace kills the current buffer
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
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
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
5 ; Save early and often, with only one keystroke
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
6 (global-set-key [(meta s)] 'save-buffer)
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
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
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
9 ; M-l makes more sense to me for jumping to a line
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
10 (global-set-key "\M-l" 'goto-line)
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
11 ; Sometimes C-h is what Backspace sends in a terminal, and I never use C-h
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
12 (global-set-key "\C-h" 'backward-delete-char-untabify)
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
13 ; M-t is what I want for the textmate file finding
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
14 (global-set-key [(meta t)] 'textmate-goto-file)
126
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 101
diff changeset
15 ; M-p for bouncing to the matching paren
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 101
diff changeset
16 (global-set-key [(meta p)] 'bounce-to-other-paren)
101
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
17 (global-set-key [(meta control f)] 'textmate-find-in-project-type)
126
34b698771af9 emacs keybinding fixes
Augie Fackler <durin42@gmail.com>
parents: 101
diff changeset
18 (global-set-key [(meta shift f)] 'textmate-find-in-project)
77
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
19 (global-set-key [(meta m)] 'iconify-or-deiconify-frame)
45d7441d0cf2 Modularize .emacs
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
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
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
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
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
32
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
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
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
36
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
37 ;; Mac-like keybindings for undo/cut/copy/paste
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
38 (global-set-key [(meta c)] 'kill-ring-save)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
39 (global-set-key [(meta x)] 'kill-region)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
40 (global-set-key [(meta z)] 'undo)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
41 (global-set-key [(meta v)] 'yank)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
42 (global-set-key [M-return] 'fullscreen)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
43 (global-set-key [(control v)] 'yank-pop)
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
44
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
45 ;; Fixup hooks for modes that like taking my keys back
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
46 (add-hook 'text-mode-hook '(lambda ()
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
47 (define-key text-mode-map "\M-s"
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
48 'save-buffer)))
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
49 (add-hook 'comint-mode-hook '(lambda ()
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
50 (local-set-key "\M-r"
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
51 'execute-extended-command)))
0c1db2df2bf8 Experimental keybindings.
Augie Fackler <durin42@gmail.com>
parents: 95
diff changeset
52
95
df45e402581c Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents: 77
diff changeset
53 (defun server-save-buffer-and-finish ()
df45e402581c Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents: 77
diff changeset
54 (interactive)
df45e402581c Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents: 77
diff changeset
55 (save-buffer) (server-edit))
df45e402581c Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents: 77
diff changeset
56 (add-hook 'server-switch-hook
df45e402581c Save in server buffer also marks as done.
Augie Fackler <durin42@gmail.com>
parents: 77
diff changeset
57 '(lambda ()(local-set-key "\M-s" 'server-save-buffer-and-finish )))