X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=setup%2Fbindings.el;h=8112606decfcc32bf9ce16047647b16b04f82859;hb=a13a166794e1e6f22407e13110fe83b9cb095ab8;hp=8e4e79c57fbf3e022860e0a567bddefdad2d73bc;hpb=844f5833be3c5f0d48e1b3b900c592841f0516d6;p=emacs-init.git diff --git a/setup/bindings.el b/setup/bindings.el index 8e4e79c..8112606 100644 --- a/setup/bindings.el +++ b/setup/bindings.el @@ -1,5 +1,5 @@ (global-set-key "\M-/" 'hippie-expand) -(global-set-key "\C-c'w" 'which-func-mode) +(global-set-key "\C-c'w" 'which-function-mode) (global-set-key "\C-c'h" 'highlight-changes-mode) (global-set-key "\C-c'f" 'auto-fill-mode) (global-set-key "\C-c'v" 'visual-line-mode) @@ -8,6 +8,7 @@ (global-set-key "\C-c'g" 'toggle-debug-on-quit) (global-set-key "\C-c'c" 'toggle-case-fold-search) (global-set-key "\C-c's" 'flyspell-mode) +(global-set-key "\C-c'S" 'flyspell-prog-mode) (global-set-key "\C-c'a" 'global-auto-revert-mode) (global-set-key "\C-cF" 'ffap) @@ -20,16 +21,23 @@ ;; * everything as globaly configured ;; * as above but disable lines-tail ;; * nothing + ;; * as above but visualize tabs + + ;; if mode is not set, detect current mode and set it to the next value in the list (if (null mode) (if (local-variable-p 'whitespace-style) (if (null whitespace-style) - (setq mode 'default) - (setq mode 'none)) + (setq mode 'tabs) + (if (memq 'tab-mark whitespace-style) + (setq mode 'default) + (setq mode 'none))) (setq mode 'longlines))) (cond ((eq mode 'default) (kill-local-variable 'whitespace-style)) ((eq mode 'longlines) (setq-local whitespace-style (remove 'lines-tail (default-value 'whitespace-style)))) + ((eq mode 'tabs) + (setq-local whitespace-style '(tab-mark))) ((eq mode 'none) (setq-local whitespace-style nil))) (whitespace-mode -1) @@ -40,3 +48,21 @@ (global-set-key "\C-c' " 'toggle-whitespace-mode) (setq confirm-kill-emacs 'yes-or-no-p) + +(defun kill-buffers-in-directory (directoryName &optional includeNonFiles) + (interactive (list + (ido-read-directory-name + (if current-prefix-arg "Kill buffers in directory:" "Kill files in directory: ")) + current-prefix-arg)) + (setq directoryName (expand-file-name directoryName)) + (if (not (string-suffix-p "/" directoryName)) + (setq directoryName (concat directoryName "/"))) + (loop for buffer in (buffer-list) + for bufferDirectory = (progn + (set-buffer buffer) + (if includeNonFiles default-directory + (and buffer-file-name (file-name-directory buffer-file-name)))) + if (and bufferDirectory (string-prefix-p directoryName (expand-file-name bufferDirectory))) + do (kill-buffer buffer))) + +(global-set-key "\C-xK" 'kill-buffers-in-directory)