]> git.donarmstrong.com Git - lib.git/commitdiff
move general configuration from .emacs to don-configuration.org
authorDon Armstrong <don@donarmstrong.com>
Fri, 15 Jan 2016 16:18:46 +0000 (08:18 -0800)
committerDon Armstrong <don@donarmstrong.com>
Fri, 15 Jan 2016 16:18:46 +0000 (08:18 -0800)
emacs_el/configuration/don-configuration.org

index 1a103e2871ff11e46ec38a1f4c21acce9639c518..2dbe39ac2a6564d0a1a01781b356da9bbe67a3af 100644 (file)
   (ad-activate 'load)
 #+END_SRC
 
+* Misc (uncharacterized)
+#+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
+  (setq bibtex-user-optional-fields (quote (("annote" "Personal annotation (ignored)") ("abstract" "") ("pmid" "") ("doi" ""))))
+  (setq calendar-latitude [33 57 north])
+  (setq calendar-longitude [117 24 west])
+  (setq case-fold-search t)
+  (setq confirm-kill-emacs (quote y-or-n-p))
+  (setq cperl-lazy-help-time nil)
+  (setq debian-changelog-mailing-address "don@debian.org")
+  (setq display-time t)
+  (setq display-time-24hr-format t)
+  (setq display-time-day-and-date t)
+  (setq display-time-mode t)
+  (setq font-latex-fontify-script nil)
+  (setq font-latex-fontify-sectioning (quote color))
+  (setq font-latex-script-display (quote (nil)))
+  (setq global-auto-revert-mode t)
+  (setq global-font-lock-mode t)
+  (setq icomplete-mode t)
+  (setq log-edit-keep-buffer t)
+  (setq mail-user-agent (quote sendmail-user-agent))
+  (setq markdown-enable-math t)
+  (setq markdown-follow-wiki-link-on-enter nil)
+  (setq mutt-alias-file-list (quote ("~/.mutt/aliases" "~/.mail_aliases")))
+  (setq post-email-address "don@donarmstrong.com")
+  (setq post-kill-quoted-sig nil)
+  (setq post-mail-message "mutt\\(ng\\|\\)-[a-z0-9]+-[0-9]+-.*")
+  (setq post-uses-fill-mode nil)
+  (setq ps-footer-font-size (quote (8 . 10)))
+  (setq ps-header-font-size (quote (8 . 10)))
+  (setq ps-header-title-font-size (quote (10 . 10)))
+  (setq ps-line-number-color "blue")
+  (setq ps-print-footer t)
+  (setq ps-print-footer-frame nil)
+  (setq ps-print-only-one-header t)
+  (setq safe-local-variable-values (quote ((auto-save-default) (make-backup-files))))
+  (setq sentence-end "[.?!][]\"')]*\\($\\|   \\| \\)[    
+  ]*")
+  (setq sentence-end-double-space nil)
+  (setq show-paren-mode t)
+  (tool-bar-mode -1)
+  (setq user-mail-address "don@donarmstrong.com")
+  (setq vc-delete-logbuf-window nil)
+  (setq vc-follow-symlinks t)
+
+  ;; use git before SVN; use CVS earlier, because I have CVS
+  ;; repositories inside of git directories
+  (setq vc-handled-backends (quote (CVS Git RCS SVN SCCS Bzr Hg Mtn Arch)))
+
+  ;; switch back to the old primary selection method
+  (setq x-select-enable-clipboard nil)
+  (setq x-select-enable-primary t)
+  ; (setq mouse-drag-copy-region t)
+
+  (fset 'perl-mode 'cperl-mode)
+  ;;(load-file "cperl-mode.el")
+
+  (require 'vcl-mode)
+
+  (require 'tex-site)
+  ;;(require 'psvn)
+  ;;(require 'ecasound)
+  ;;(require 'emacs-wiki)
+  (require 'bibtex)
+  (require 'post)
+  ;;(require 'fixme)
+  ; (require 'google-weather)
+  ; (require 'org-google-weather)
+  ; (setq-default org-google-weather-format "%i %c, [%l,%h] %s %C")
+
+  ; http://julien.danjou.info/projects/emacs-packages#rainbow-mode
+  ; this colorizes color strings
+  (require 'rainbow-mode)
+  ; add ess to the x major mode
+  (add-to-list 'rainbow-x-colors-major-mode-list 'ESS[S])
+  (add-to-list 'rainbow-x-colors-major-mode-list 'ESS[R])
+
+  (global-set-key "\C-xp" 'server-edit)
+
+  (setq-default auto-mode-alist (cons '("\.wml$" . 
+                    (lambda () (html-mode) (auto-fill-mode)))
+                  auto-mode-alist))
+
+
+  ; use markdown mode for mdwn files
+  (add-to-list 'auto-mode-alist '("\\.mdwn$" . markdown-mode))
+  (add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))
+
+
+  ;; tramp configuration
+  (setq tramp-use-ssh-controlmaster-options nil)
+
+  ; mail configuration
+  (add-to-list 'auto-mode-alist '("muttng-[a-z0-9]+-[0-9]+-" . message-mode))
+  (add-to-list 'auto-mode-alist '("muttngrc" . muttrc-mode))
+
+  (add-to-list 'auto-mode-alist '("mutt-[a-z0-9]+-[0-9]+-" . message-mode))
+  (add-to-list 'auto-mode-alist '("muttrc" . muttrc-mode))
+  (defun my-message-mode-settings ()
+    (font-lock-add-keywords nil
+                            '(("^[ \t]*>[ \t]*>[ \t]*>.*$"
+                               (0 'message-multiply-quoted-text-face))
+                              ("^[ \t]*>[ \t]*>.*$"
+                               (0 'message-double-quoted-text-face))))
+    (local-set-key (kbd "C-c C-a") 'my-post-attach-file)
+    )
+  (add-hook 'message-mode-hook 'my-message-mode-settings)
+
+  (defun my-post-attach-file ()
+    "Prompt for an attachment."
+    (interactive)
+    (let ((file (read-file-name "Attach file: " nil nil t nil))
+          (description (string-read "Description: ")))
+      (my-header-attach-file file description)))
+
+  (symbol-function 'my-post-attach-file)
+
+  (defun my-header-attach-file (file description)
+    "Attach a FILE to the current message (works with Mutt).
+  Argument DESCRIPTION MIME description."
+    (interactive "fAttach file: \nsDescription: ")
+    (when (> (length file) 0)
+      (save-excursion
+        (save-match-data
+          (save-restriction
+            (widen)
+            (goto-char (point-min))
+            (search-forward-regexp "^$")
+            (insert (concat "Attach: " (replace-regexp-in-string "\\([[:space:]\\]\\)" "\\\\\\1" (file-truename file)) " "
+                            description "\n"))
+            (message (concat "Attached '" file "'."))
+            (setq post-has-attachment t))))))
+
+
+
+  (setq mail-yank-prefix "> ")
+
+  (global-unset-key "\M-g")
+  (global-set-key "\M-g" 'goto-line)
+
+  ;; self-insert-command hack.
+  ;;   Without this, "if<SP>" expands to
+  ;;   if ( -!-) {
+  ;;   }
+  ;;   which really should be,
+  ;;   if (-!-) {
+  ;;   }
+
+
+
+  ;(load-library "php-mode")
+
+  (setq-default c-indent-level 4)
+  (setq-default c-brace-imaginary-offset 0)
+  (setq-default c-brace-offset -4)
+  (setq-default c-argdecl-indent 4)
+  (setq-default c-label-offset -4)
+  (setq-default c-continued-statement-offset 4)
+  ; tabs are annoying
+  (setq-default indent-tabs-mode nil)
+  (setq-default tab-width 4)
+
+
+  ;; (autoload 'php-mode "php-mode" "PHP editing mode" t)
+  ;; (add-to-list 'auto-mode-alist '("\\.php3?\\'" . php-mode))
+  ;; (add-to-list 'auto-mode-alist '("\\.phtml?\\'" . php-mode))
+  ;; (add-to-list 'auto-mode-alist '("\\.php?\\'" . php-mode))
+  ;; (add-to-list 'auto-mode-alist '("\\.php4?\\'" . php-mode))
+
+
+  (defun insert-date ()
+    "Insert date at point."
+    (interactive)
+    (insert (format-time-string "%A, %B %e, %Y %k:%M:%S %Z")))
+  (global-set-key "\C-[d" 'insert-date)
+
+  (defun unfill-paragraph (arg)
+    "Pull this whole paragraph up onto one line."
+    (interactive "*p")
+    (let ((fill-column 10000))
+      (fill-paragraph arg))
+    )
+
+  (column-number-mode t)
+  (setq-default reftex-plug-into-AUCTeX t)
+
+  (server-start)
+
+  ; (require 'mode-compile)
+
+  (defadvice server-process-filter (after post-mode-message first activate)
+    "If the buffer is in post mode, overwrite the server-edit
+      message with a post-save-current-buffer-and-exit message."
+    (if (eq major-mode 'post-mode)
+        (message
+         (substitute-command-keys "Type \\[describe-mode] for help composing; \\[post-save-current-buffer-and-exit] when done."))))
+                      ; This is also needed to see the magic message.  Set to a higher
+                      ; number if you have a faster computer or read slower than me.
+  '(font-lock-verbose 1000)
+  ;(setq-default server-temp-file-regexp "mutt\(-\|ng-\)")
+  ; (add-hook 'server-switch-hook 
+  ;     (function (lambda()
+  ;             (cond ((string-match "Post" mode-name)
+  ;                (post-goto-body)))
+  ;             set-buffer-file-coding-system 'utf-8
+  ;             )))
+  ; 
+
+  (add-hook 'post-mode-hook
+        (auto-fill-mode nil)
+        )
+  ; abbrev mode settings
+  ; load abbreviations from 
+  (setq abbrev-file-name       
+        "~/.emacs_abbrev_def")
+
+  ; read the abbrev file if it exists
+  (if (file-exists-p abbrev-file-name)
+      (quietly-read-abbrev-file))
+
+  ; for now, use abbrev mode everywhere
+  (setq default-abbrev-mode t)
+
+
+  (defun insert-function-documentation ()
+    "Insert function documentation"
+    (interactive)
+    (insert-file-contents "/home/don/lib/templates/perl_function_documentation" nil))
+  (global-set-key "\M-f" 'insert-function-documentation)
+
+  (eval-after-load "lilypond-mode" 
+    '(progn
+       (load-library "lyqi-mode")
+       (define-key LilyPond-mode-map "\C-cq" 'lyqi-mode)))
+
+  (autoload 'spamassassin-mode "spamassassin-mode" nil t)
+
+  (desktop-load-default)
+  (desktop-read)
+  '(icomplete-mode on)
+  (custom-set-faces
+   ;; custom-set-faces was added by Custom.
+   ;; If you edit it by hand, you could mess it up, so be careful.
+   ;; Your init file should contain only one such instance.
+   ;; If there is more than one, they won't work right.
+   '(menu ((((type x-toolkit)) (:background "black" :foreground "grey90")))))
+
+
+  (put 'upcase-region 'disabled nil)
+  (put 'downcase-region 'disabled nil)
+  (put 'narrow-to-region 'disabled nil)
+
+
+  (autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
+  (add-hook 'message-mode-hook 'turn-on-flyspell)
+  (add-hook 'text-mode-hook 'turn-on-flyspell)
+  (add-hook 'c-mode-common-hook 'flyspell-prog-mode)
+  (add-hook 'cperl-mode-hook 'flyspell-prog-mode)
+  (add-hook 'tcl-mode-hook 'flyspell-prog-mode)
+  ; (defun turn-on-flyspell ()
+  ;    "Force flyspell-mode on using a positive arg.  For use in hooks."
+  ;    (interactive)
+  ;    (flyspell-mode 1))
+
+
+   ; Outline-minor-mode key map
+   (define-prefix-command 'cm-map nil "Outline-")
+   ; HIDE
+   (define-key cm-map "q" 'hide-sublevels)    ; Hide everything but the top-level headings
+   (define-key cm-map "t" 'hide-body)         ; Hide everything but headings (all body lines)
+   (define-key cm-map "o" 'hide-other)        ; Hide other branches
+   (define-key cm-map "c" 'hide-entry)        ; Hide this entry's body
+   (define-key cm-map "l" 'hide-leaves)       ; Hide body lines in this entry and sub-entries
+   (define-key cm-map "d" 'hide-subtree)      ; Hide everything in this entry and sub-entries
+   ; SHOW
+   (define-key cm-map "a" 'show-all)          ; Show (expand) everything
+   (define-key cm-map "e" 'show-entry)        ; Show this heading's body
+   (define-key cm-map "i" 'show-children)     ; Show this heading's immediate child sub-headings
+   (define-key cm-map "k" 'show-branches)     ; Show all sub-headings under this heading
+   (define-key cm-map "s" 'show-subtree)      ; Show (expand) everything in this heading & below
+   ; MOVE
+   (define-key cm-map "u" 'outline-up-heading)                ; Up
+   (define-key cm-map "n" 'outline-next-visible-heading)      ; Next
+   (define-key cm-map "p" 'outline-previous-visible-heading)  ; Previous
+   (define-key cm-map "f" 'outline-forward-same-level)        ; Forward - same level
+   (define-key cm-map "b" 'outline-backward-same-level)       ; Backward - same level
+   (global-set-key "\M-o" cm-map)
+
+
+  ; debian stuff
+  (setq-default debian-changelog-mailing-address "don@debian.org")
+  (setq-default debian-changelog-full-name "Don Armstrong")
+
+  ; ediff configuration
+  ; don't use the multi-window configuration
+  (setq ediff-window-setup-function 'ediff-setup-windows-plain)
+
+  ; use iedit
+  (require 'iedit)
+  (define-key global-map (kbd "C-;") 'iedit-mode)
+  (global-set-key  (kbd "C-;") 'iedit-mode)
+
+  ; fix up css mode to not be silly
+  ; from http://www.stokebloke.com/wordpress/2008/03/21/css-mode-indent-buffer-fix/
+  (setq cssm-indent-level 4)
+  (setq cssm-newline-before-closing-bracket t)
+  (setq cssm-indent-function #'cssm-c-style-indenter)
+  (setq cssm-mirror-mode nil)
+
+  (require 'multi-web-mode)
+  (setq mweb-default-major-mode 'html-mode)
+  (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
+                    (js-mode "<script +\\(type=\"text/javascript\"\\|language=\"javascript\"\\)[^>]*>" "</script>")
+                    (css-mode "<style +type=\"text/css\"[^>]*>" "</style>")))
+  (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
+  (multi-web-global-mode 1)
+
+  ;;; alias the new `flymake-report-status-slim' to
+  ;;; `flymake-report-status'
+  (defalias 'flymake-report-status 'flymake-report-status-slim)
+  (defun flymake-report-status-slim (e-w &optional status)
+    "Show \"slim\" flymake status in mode line."
+    (when e-w
+      (setq flymake-mode-line-e-w e-w))
+    (when status
+      (setq flymake-mode-line-status status))
+    (let* ((mode-line " Φ"))
+      (when (> (length flymake-mode-line-e-w) 0)
+        (setq mode-line (concat mode-line ":" flymake-mode-line-e-w)))
+      (setq mode-line (concat mode-line flymake-mode-line-status))
+      (setq flymake-mode-line mode-line)
+      (force-mode-line-update)))
+
+  ; load sql-indent when sql is loaded
+  (eval-after-load "sql"
+    '(load-library "sql-indent"))
+
+  ; fix up tmux xterm keys
+  ; stolen from http://unix.stackexchange.com/questions/24414/shift-arrow-not-working-in-emacs-within-tmux
+  (if (getenv "TMUX")
+      (progn
+        (let ((x 2) (tkey ""))
+          (while (<= x 8)
+            ;; shift
+            (if (= x 2)
+                (setq tkey "S-"))
+            ;; alt
+            (if (= x 3)
+                (setq tkey "M-"))
+            ;; alt + shift
+            (if (= x 4)
+                (setq tkey "M-S-"))
+            ;; ctrl
+            (if (= x 5)
+                (setq tkey "C-"))
+            ;; ctrl + shift
+            (if (= x 6)
+                (setq tkey "C-S-"))
+            ;; ctrl + alt
+            (if (= x 7)
+                (setq tkey "C-M-"))
+            ;; ctrl + alt + shift
+            (if (= x 8)
+                (setq tkey "C-M-S-"))
+  
+            ;; arrows
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d A" x)) (kbd (format "%s<up>" tkey)))
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d B" x)) (kbd (format "%s<down>" tkey)))
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d C" x)) (kbd (format "%s<right>" tkey)))
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d D" x)) (kbd (format "%s<left>" tkey)))
+            ;; home
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d H" x)) (kbd (format "%s<home>" tkey)))
+            ;; end
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d F" x)) (kbd (format "%s<end>" tkey)))
+            ;; page up
+            (define-key key-translation-map (kbd (format "M-[ 5 ; %d ~" x)) (kbd (format "%s<prior>" tkey)))
+            ;; page down
+            (define-key key-translation-map (kbd (format "M-[ 6 ; %d ~" x)) (kbd (format "%s<next>" tkey)))
+            ;; insert
+            (define-key key-translation-map (kbd (format "M-[ 2 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
+            ;; delete
+            (define-key key-translation-map (kbd (format "M-[ 3 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
+            ;; f1
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d P" x)) (kbd (format "%s<f1>" tkey)))
+            ;; f2
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d Q" x)) (kbd (format "%s<f2>" tkey)))
+            ;; f3
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d R" x)) (kbd (format "%s<f3>" tkey)))
+            ;; f4
+            (define-key key-translation-map (kbd (format "M-[ 1 ; %d S" x)) (kbd (format "%s<f4>" tkey)))
+            ;; f5
+            (define-key key-translation-map (kbd (format "M-[ 15 ; %d ~" x)) (kbd (format "%s<f5>" tkey)))
+            ;; f6
+            (define-key key-translation-map (kbd (format "M-[ 17 ; %d ~" x)) (kbd (format "%s<f6>" tkey)))
+            ;; f7
+            (define-key key-translation-map (kbd (format "M-[ 18 ; %d ~" x)) (kbd (format "%s<f7>" tkey)))
+            ;; f8
+            (define-key key-translation-map (kbd (format "M-[ 19 ; %d ~" x)) (kbd (format "%s<f8>" tkey)))
+            ;; f9
+            (define-key key-translation-map (kbd (format "M-[ 20 ; %d ~" x)) (kbd (format "%s<f9>" tkey)))
+            ;; f10
+            (define-key key-translation-map (kbd (format "M-[ 21 ; %d ~" x)) (kbd (format "%s<f10>" tkey)))
+            ;; f11
+            (define-key key-translation-map (kbd (format "M-[ 23 ; %d ~" x)) (kbd (format "%s<f11>" tkey)))
+            ;; f12
+            (define-key key-translation-map (kbd (format "M-[ 24 ; %d ~" x)) (kbd (format "%s<f12>" tkey)))
+            ;; f13
+            (define-key key-translation-map (kbd (format "M-[ 25 ; %d ~" x)) (kbd (format "%s<f13>" tkey)))
+            ;; f14
+            (define-key key-translation-map (kbd (format "M-[ 26 ; %d ~" x)) (kbd (format "%s<f14>" tkey)))
+            ;; f15
+            (define-key key-translation-map (kbd (format "M-[ 28 ; %d ~" x)) (kbd (format "%s<f15>" tkey)))
+            ;; f16
+            (define-key key-translation-map (kbd (format "M-[ 29 ; %d ~" x)) (kbd (format "%s<f16>" tkey)))
+            ;; f17
+            (define-key key-translation-map (kbd (format "M-[ 31 ; %d ~" x)) (kbd (format "%s<f17>" tkey)))
+            ;; f18
+            (define-key key-translation-map (kbd (format "M-[ 32 ; %d ~" x)) (kbd (format "%s<f18>" tkey)))
+            ;; f19
+            (define-key key-translation-map (kbd (format "M-[ 33 ; %d ~" x)) (kbd (format "%s<f19>" tkey)))
+            ;; f20
+            (define-key key-translation-map (kbd (format "M-[ 34 ; %d ~" x)) (kbd (format "%s<f20>" tkey)))
+
+            (setq x (+ x 1))
+            ))
+        )
+    )
+
+  ; procmailmode configuration
+  (load "procmail_mode")
+
+  (load "mode-line-cleaner")
+
+  (defadvice ask-user-about-supersession-threat (around ask-user-about-supersession-threat-if-necessary)
+    "Call ask-user-about-supersession-threat only if the buffer is actually obsolete."
+    (if (or (buffer-modified-p)
+            (verify-visited-file-modtime)
+            (< (* 8 1024 1024) (buffer-size))
+            (/= 0 (call-process-region 1 (+ 1 (buffer-size)) "diff" nil nil nil "-q" (buffer-file-name) "-")))
+        ad-do-it
+      (clear-visited-file-modtime)
+      (not-modified)))
+  (ad-activate 'ask-user-about-supersession-threat)
+
+  ; apparently things like to step on C-;, so we'll use a hack from
+  ; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this
+
+  (defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")
+
+  ; use iedit everywhere
+  (define-key my-keys-minor-mode-map (kbd "C-;") 'iedit-mode)
+
+  (define-minor-mode my-keys-minor-mode
+    "A minor mode so that my key settings override annoying major modes."
+    t " my-keys" 'my-keys-minor-mode-map)
+
+  (my-keys-minor-mode 1)
+  (defun my-minibuffer-setup-hook ()
+    (my-keys-minor-mode 0))
+
+  (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
+  (defadvice load (after give-my-keybindings-priority)
+    "Try to ensure that my keybindings always have priority."
+    (if (not (eq (car (car minor-mode-map-alist)) 'my-keys-minor-mode))
+        (let ((mykeys (assq 'my-keys-minor-mode minor-mode-map-alist)))
+          (assq-delete-all 'my-keys-minor-mode minor-mode-map-alist)
+          (add-to-list 'minor-mode-map-alist mykeys))))
+  (ad-activate 'load)
+  (global-set-key "\M- " 'hippie-expand)
+
+#+END_SRC
+
 * END
 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
   (provide 'don-configuration)