final tt updates
[emacs-init.git] / setup / bindings.el
1 (global-set-key "\M-/" 'hippie-expand)
2 (global-set-key "\C-c'w" 'which-function-mode)
3 (global-set-key "\C-c'h" 'highlight-changes-mode)
4 (global-set-key "\C-c'f" 'auto-fill-mode)
5 (global-set-key "\C-c'v" 'visual-line-mode)
6 (global-set-key "\C-c't" 'toggle-truncate-lines)
7 (global-set-key "\C-c'd" 'toggle-debug-on-error)
8 (global-set-key "\C-c'g" 'toggle-debug-on-quit)
9 (global-set-key "\C-c'c" 'toggle-case-fold-search)
10 (global-set-key "\C-c's" 'flyspell-mode)
11 (global-set-key "\C-c'S" 'flyspell-prog-mode)
12 (global-set-key "\C-c'a" 'global-auto-revert-mode)
13 (global-set-key "\C-cf" 'ffap)
14
15 (defun g0dil-fixed-font ()
16   (interactive)
17   (set-frame-font "6x13"))
18
19 (defun g0dil-scalable-font()
20   (interactive)
21   (set-frame-font "-PfEd-DejaVu Sans Mono-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1"))
22
23 (global-set-key "\C-cFf" 'g0dil-fixed-font)
24 (global-set-key "\C-cFs" 'g0dil-scalable-font)
25 (global-set-key "\C-cFm" 'menu-set-font)
26
27 ;(require 'develock)
28 ;(require 'develock-py)
29
30 (defun toggle-whitespace-mode (&optional mode)
31   (interactive)
32   ;; toggle whitespace mode between:
33   ;; * everything as globaly configured
34   ;; * as above but disable lines-tail
35   ;; * nothing
36   ;; * as above but visualize tabs
37
38   ;; if mode is not set, detect current mode and set it to the next value in the list
39   (if (null mode)
40       (if (local-variable-p 'whitespace-style)
41           (if (null whitespace-style)
42               (setq mode 'tabs)
43             (if (memq 'tab-mark whitespace-style)
44                 (setq mode 'default)
45               (setq mode 'none)))
46         (setq mode 'longlines)))
47   (cond ((eq mode 'default)
48          (kill-local-variable 'whitespace-style))
49         ((eq mode 'longlines)
50          (setq-local whitespace-style (remove 'lines-tail (default-value 'whitespace-style))))
51         ((eq mode 'tabs)
52          (setq-local whitespace-style '(tab-mark)))
53         ((eq mode 'none)
54          (setq-local whitespace-style nil)))
55   (whitespace-mode -1)
56   (sit-for 0)
57   (whitespace-mode 1)
58   (message "whitespace: %s" mode))
59
60 (global-set-key "\C-c' " 'toggle-whitespace-mode)
61
62 (setq confirm-kill-emacs 'yes-or-no-p)
63
64 (defun kill-buffers-in-directory (directoryName &optional includeNonFiles)
65   (interactive (list
66                 (ido-read-directory-name
67                  (if current-prefix-arg "Kill buffers in directory:" "Kill files in directory: "))
68                 current-prefix-arg))
69   (setq directoryName (expand-file-name directoryName))
70   (if (not (string-suffix-p "/" directoryName))
71     (setq directoryName (concat directoryName "/")))
72   (loop for buffer in (buffer-list)
73         for bufferDirectory = (progn
74                                 (set-buffer buffer)
75                                 (if includeNonFiles default-directory
76                                     (and buffer-file-name (file-name-directory buffer-file-name))))
77         if (and bufferDirectory (string-prefix-p directoryName (expand-file-name bufferDirectory)))
78         do (kill-buffer buffer)))
79
80 (global-set-key "\C-xK" 'kill-buffers-in-directory)
81
82 (global-unset-key "\C-z")
83 (global-unset-key "\C-xz")
84
85 (global-set-key "\C-xA" 'org-agenda)