(add-hook 'minibuffer-exit-hook #'don/minibuffer-exit-hook)
#+END_SRC
* Modules
+** Flyspell 🐝
+#+BEGIN_SRC emacs-lisp
+ (use-package flyspell
+ :ensure t
+ :diminish flyspell-mode 🐝
+ :config
+ (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)
+ :init
+ (setq ispell-program-name "ispell")
+ )
+
+#+END_SRC
** Winnermode
#+BEGIN_SRC emacs-lisp
(winner-mode 1)
(setq split-width-threshold 100)
(setq split-height-threshold 60)
- (defun my/split-window-prefer-horizontally (window)
+ (defun my/split-window-prefer-vertically (window)
"If there's only one window (excluding any possibly active
minibuffer), then split the current window horizontally."
(if (and (one-window-p t)
(not (active-minibuffer-window))
- ( > (frame-width) (frame-height))
+ ( < (frame-width) (frame-height))
)
- (let ((split-height-threshold nil))
+ (let ((split-width-threshold nil))
(split-window-sensibly window))
(split-window-sensibly window)))
- (setq split-window-preferred-function #'my/split-window-prefer-horizontally)
+ (setq split-window-preferred-function #'my/split-window-prefer-vertically)
(setq window-combination-resize t)
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
(use-package magit
:ensure t
+ :bind (("C-x g" . magit-status)
+ ("C-x C-g" . magit-status))
:config
;; don't verify where we are pushing
(setq magit-push-always-verify nil)
(setq load-path
(append '("~/lib/emacs_el/magit-annex")
load-path))
+ ;; load magit-vcsh
+ (setq load-path
+ (append '("~/lib/emacs_el/magit-vcsh")
+ load-path))
)
(use-package magit-annex
:ensure t
)
+ (use-package magit-vcsh
+ :ensure f ; currently not in melpa, so don't try to install
+ )
#+END_SRC
** Perl
(tramp-remote-shell-args
("-c"))))
#+END_SRC
+** Reftex
+#+BEGIN_SRC emacs-lisp
+ (use-package reftex
+ :ensure t
+ :config
+ (setq-default reftex-default-bibliography
+ '("~/projects/research/references.bib")))
+#+END_SRC
** LaTeX
#+BEGIN_SRC emacs-lisp
(use-package tex
:defer t
:ensure auctex
:config
- (add-to-list 'LaTeX-fill-excluded-macros
- '("Sexpr"))
- (add-to-list 'TeX-style-path '"/home/don/lib/emacs_el/auctex/style")
+ ; (add-to-list 'TeX-style-path '"/home/don/lib/emacs_el/auctex/style")
;; REFTEX (much enhanced management of cross-ref, labels, etc)
;; http://www.strw.leidenuniv.nl/~dominik/Tools/reftex/
- (autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t)
- (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" nil)
- (autoload 'reftex-citation "reftex-cite" "Make citation" nil)
- (autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t)
+ ; (autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t)
+ ; (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" nil)
+ ; (autoload 'reftex-citation "reftex-cite" "Make citation" nil)
+ ; (autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode
(add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
(add-hook 'LaTeX-mode-hook 'outline-minor-mode) ; with AUCTeX LaTeX mode
(add-hook 'latex-mode-hook 'outline-minor-mode) ; with Emacs latex mode
+ (setq-default reftex-plug-into-AUCTeX t)
;; support fake section headers
(setq TeX-outline-extra
'(("%chapter" 1)
'("Cref" TeX-arg-ref)
'("cpageref" TeX-arg-ref)
'("Cpageref" TeX-arg-ref)))))
+ (eval-after-load
+ "latex"
+ '(add-to-list 'LaTeX-fill-excluded-macros
+ '("Sexpr")))
- (setq-default reftex-default-bibliography
- '("~/projects/research/references.bib"))
(use-package font-latex
:config
(setq font-latex-match-reference-keywords
#+BEGIN_SRC emacs-lisp
(use-package rainbow-mode
- :ensure f
;; add ess to the x major mode
:config (add-to-list 'rainbow-x-colors-major-mode-list 'ESS[S])
(add-to-list 'rainbow-x-colors-major-mode-list 'ESS[R])
#+BEGIN_SRC emacs-lisp
(use-package outline-magic)
#+END_SRC
+** Writeroom Mode
+#+BEGIN_SRC emacs-lisp
+ (use-package writeroom-mode
+ :config (add-hook 'writeroom-mode-hook 'auto-fill-mode)
+ )
+#+END_SRC
+** GhostText/Atomic Chrome
+#+BEGIN_SRC emacs-lisp
+ (use-package atomic-chrome
+ :config (atomic-chrome-start-server)
+ )
+#+END_SRC
* Keybindings
** Override other things
#+BEGIN_SRC emacs-lisp
)
(column-number-mode t)
- (setq-default reftex-plug-into-AUCTeX t)
(server-start)
(put 'downcase-region 'disabled nil)
(put 'narrow-to-region 'disabled nil)
- (setq ispell-program-name "ispell")
- (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)
; 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))
- ))
+ (defun fix-up-tmux-keys ()
+ "Fix up tmux xterm keys"
+ (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))
+ ))
+ )
)
- )
+ )
+ ; (add-hook 'tty-setup-hook 'fix-up-tmux-keys)
; procmailmode configuration
(load "procmail_mode")