various updates, mail
[dot-emacs] / my-init.org
index b854dbe01a2f6d1bf79f086a8584dd4bc3eb0600..1c98c882a264559deba457bd13a86f0f627618ca 100644 (file)
@@ -1,7 +1,7 @@
 #+TITLE: My Personal Init Customization
 #+OPTIONS: toc:nil num:nil ^:nil
 * copyright
-# Copyright (C) 2016 Ian Kelling
+# Copyright (C) 2017 Ian Kelling
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 * things that should be at the beginning
 #+begin_src emacs-lisp
 ;; todo, evaluating this manually disables debug on error instead of toggling it
-;;(toggle-debug-on-error) ;uncomment to help debug and catch errors
+;(toggle-debug-on-error) ;uncomment to help debug and catch errors
 
 
 #+end_src
@@ -47,9 +47,9 @@ alternate keyboards
     m-enter (kbd "M-m")
     c-enter (kbd "C-8")))
 
+(setq tp (string= (system-name) "tp"))
 (setq x200 (string= (system-name) "x2"))
-(setq search-key (if x200 "<menu>" "<kp-add>"))
-(setq shell-key (if x200 "<S-menu>" "<S-kp-equal>"))
+(setq laptop-keyboard (or tp x200))
 #+end_src
 
 - Ubiquitous Packages which should be loaded on startup rather than
@@ -82,6 +82,7 @@ alternate keyboards
 
 (add-to-list 'package-archives
              '("melpa" . "http://melpa.milkbox.net/packages/") t)
+(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
 
 ;; if this is a new machine/config, get package list
 ;; not sure why we need it, but it is recommended in starter kit,
@@ -160,16 +161,68 @@ If it is different, emacs will give a message about recovering it when you open
 
 
 
+* TODO keybinds to remember
+
+keys worth memorizing
+
+c-2
+c-m-3
+
+s-return
+
+in isearch, C-o
+isearch-occur
+
+org, C-c / t
+make just todo items visible
+
+C-mouse-1
+buffer list menu
+
+C-up/down
+move up/down fast
+
+M-right-scroll
+forward/back sexp
+
+C-M-right-scroll
+scroll
+
+C-S-scroll
+change text size
+
+how to control+left scroll on kinesis
+right shift = control
+
+C-left-scroll
+forward/backward word
+
+C-M-d
+swap buffers across windows
+
+shell-cd-to-file
+M-2
+
+* TODO add simpler keybind for make-frame-command
+current one is C-x 5 2.
+
+* TODO learn some more ivy mode stuff
+* TODO declarative package installations,
+with documentation.
 * TODO shell mode reverse search hides 2nd+ line of multi-line result
-* TODO button for switching to scratch buffer
 * TODO figure out browsing files with broken nfs mount
 causes emacs to freeze until I kill -9 it.
 * TODO make a keybind to print var under cursor
 and actually, putting the start of it in th emodeline might be cool
-* TODO fix undo tree files literering filesystem
+* TODO make recent files save periodically,
+normally it just saves on exit, but half the time I don't exit cleanly
+so they don't get saved, because I leave emacs running until it crashes
+* TODO fix undo tree outside visible buffer bug
 * TODO c-<delete> in shell mode should send over
 previous line if current line is empty
 * TODO make c-m-s be just a control key for easier use
+* TODO try out avy mode for laptop
+i used to have ace jump mode, but google says avy is better.
 * TODO bind a in group mode of gnus to c-u a,
 also, make a default for number of articles
 * TODO make auto-complete be on by default in sql-mode
@@ -197,7 +250,9 @@ bad code, the comment this relates to was removed, but not the comment
 The change in status_notify's return is just passing more information
 from what it did already. No changes at all inside this function.
 
-
+* TODO consider whether to bind indent-for-tab-command
+I removed it from m-tab for terminal compatibility.
+It's the default tab command, which yasnippet replaces.
 * TODO readline-complete: remove the hardcoded rlc-no-readline-hook
 * TODO isearch doesn't automatically wrap in info
 * TODO look into fixing shell mode reverse search
@@ -277,7 +332,6 @@ outside of emacs
 * TODO try mark word, which might be a useful keybind
 * TODO fix org-cycle: it assumes which key it is bound to for its last alternative
 * TODO checkout lisp-complete-symbol to augment auto-complete
-* TODO learn dired.
 * TODO emacs keylogger to optimize key binds
 * TODO remap/investigate find tag, find tag at point
 * TODO set key to cycle buffers by mode, example below
@@ -373,7 +427,8 @@ if all else fails, edit the abbrev file
 
 #+begin_src emacs-lisp
 ;; auto-completion in minibuffer
-(icomplete-mode)
+;; disabled while I look for another alternative
+;;(icomplete-mode)
 
 (require 'auto-complete-config)
 (ac-config-default)
@@ -441,6 +496,8 @@ if all else fails, edit the abbrev file
 (setenv "EMACS" "")
 (setq explicit-bash-args nil)
 (setq comint-process-echoes t)
+;; default of 30 is way too slow. todo, consider pushing this upstream
+(setq rlc-attempts 5)
 
 (add-to-list 'ac-modes 'shell-mode)
 
@@ -458,43 +515,96 @@ if all else fails, edit the abbrev file
 #+RESULTS:
 : comint-exec-1
 
-debugging
-
+** readline complete fix
 
-* auto save & backup
+I need this function here, where INSIDE_EMACS is replaced with RLC_INSIDE_EMACS.
+#+begin_src emacs-lisp
+;; ian: last update 2017-1-7. update this periodically from upstream
+;; like when we do a major emacs update
+(defun comint-exec-1 (name buffer command switches)
+  (let ((process-environment
+        (nconc
+         ;; If using termcap, we specify `emacs' as the terminal type
+         ;; because that lets us specify a width.
+         ;; If using terminfo, we specify `dumb' because that is
+         ;; a defined terminal type.  `emacs' is not a defined terminal type
+         ;; and there is no way for us to define it here.
+         ;; Some programs that use terminfo get very confused
+         ;; if TERM is not a valid terminal type.
+         ;; ;; There is similar code in compile.el.
+         (if (and (boundp 'system-uses-terminfo) system-uses-terminfo)
+             (list "TERM=dumb" "TERMCAP="
+                   (format "COLUMNS=%d" (window-width)))
+           (list "TERM=emacs"
+                 (format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width))))
+         (list (format "RLC_INSIDE_EMACS=%s,comint" emacs-version))
+         process-environment))
+       (default-directory
+         (if (file-accessible-directory-p default-directory)
+             default-directory
+           "/"))
+       proc decoding encoding changed)
+    (let ((exec-path (if (and command (file-name-directory command))
+                        ;; If the command has slashes, make sure we
+                        ;; first look relative to the current directory.
+                        (cons default-directory exec-path) exec-path)))
+      (setq proc (apply 'start-file-process name buffer command switches)))
+    ;; Some file name handler cannot start a process, fe ange-ftp.
+    (unless (processp proc) (error "No process started"))
+    (let ((coding-systems (process-coding-system proc)))
+      (setq decoding (car coding-systems)
+           encoding (cdr coding-systems)))
+    ;; Even if start-file-process left the coding system for encoding data
+    ;; sent from the process undecided, we had better use the same one
+    ;; as what we use for decoding.  But, we should suppress EOL
+    ;; conversion.
+    (if (and decoding (not encoding))
+       (setq encoding (coding-system-change-eol-conversion decoding 'unix)
+             changed t))
+    (if changed
+       (set-process-coding-system proc decoding encoding))
+    proc))
 
-there is a bug that when emacs has been running for a long time,
-auto-save-timeout never happens simply by waiting.
-doing something like an M-x function will trigger it.
-Todo: report this bug.
+#+end_src
 
+* auto save & backup
 #+begin_src emacs-lisp
-
-;; enable auto-save hook
 (setq auto-save-timeout 1) ; idle time before auto-save.
 
-
 ;; main hook for my auto save
 (add-hook 'auto-save-hook 'my-auto-save)
 ;; additional hook to try to deal with emacs not auto-saving when a buffer isn't active
 (add-hook 'window-configuration-change-hook 'my-auto-save)
 
-
 (defun my-auto-save ()
-  (if (and my-as (buffer-file-name) (buffer-modified-p))
-      (let (message-log-max)
-        ;; a bit of a hack to partially suppress the constant saving in the echo area
-        (with-temp-message ""
-          (basic-save-buffer)))))
+  (when (and
+         my-as
+         (buffer-file-name)
+         ;; mu4e has a bug right now, undo breaks when saving drafts
+         (not (string= (buffer-file-name) "*draft*"))
+         (buffer-modified-p)
+         (not (org-src-edit-buffer-p)))
+    (let (message-log-max)
+      ;; a bit of a hack to partially suppress the constant saving in the echo area
+      (with-temp-message ""
+        (basic-save-buffer)))))
 
 (defun my-as-off ()
   (interactive)
   (setq my-as nil))
 
+(defun my-as-off-local ()
+  (interactive)
+  (setq-local my-as nil))
+
 (defun my-as-on ()
   (interactive)
   (setq my-as t))
 
+(defun my-as-on-local ()
+  (interactive)
+  (setq-local my-as on))
+
 ;; based on suggestion in the emacs docs, redefine these 2 functions
 ;; to avoid prompt spamming the user when we do auto-save
 (defun ask-user-about-supersession-threat (fn)
@@ -632,6 +742,7 @@ seems they are created
 
 (add-to-list 'load-path "~/.emacs.d/src/bbdb-csv-import")
 (require 'bbdb-csv-import)
+
         #+end_src
 
 * bookmark settings
@@ -665,53 +776,58 @@ interesting light themes
 
 
   #+begin_src emacs-lisp
-    (defun override-theme (arg)
-      (interactive)
-      (while custom-enabled-themes
-        (disable-theme (car custom-enabled-themes)))
-      (load-theme arg t))
-    (setq color-theme-is-global t)
-
-    (defun toggle-night ()
-     (interactive)
-      (if (equal (car custom-enabled-themes) 'naquadah)
-          (override-theme 'leuven)
-      (override-theme 'naquadah)))
-
+(defun override-theme (arg)
+  (interactive)
+  (while custom-enabled-themes
+    (disable-theme (car custom-enabled-themes)))
+  (load-theme arg t))
+(setq color-theme-is-global t)
 
-    (override-theme 'leuven) ;; org mode features, with monitor darkened. part of org-mode i think
+(defun toggle-night ()
+  (interactive)
+  (cond  ((equal (car custom-enabled-themes) 'naquadah)
+          ;; background off white to be better on the eyes. took this
+          ;; color from gitweb.
+          (custom-set-faces `(default ((t (:background "#F6F6F0")))))
+          (override-theme 'leuven))
+         (t
+          ;; revert previous background change
+          (custom-set-faces `(default ((t (:background nil)))))
+          (override-theme 'naquadah))))
 
+(custom-set-faces `(default ((t (:background "#F6F6F0")))))
+(override-theme 'leuven) ;; org mode features, with monitor darkened. part of org-mode i think
 
 
-    ;; disable color thing with this:
-    ;;(disable-theme (car custom-enabled-themes))
+;; disable color thing with this:
+;;(disable-theme (car custom-enabled-themes))
 
-    ;; decent dark themes
+;; decent dark themes
 
-   ;;(override-theme 'tangotango)
-    ;;(override-theme 'deeper-blue)
-    ;;(override-theme 'tango-dark)
-    ;;(override-theme 'tsdh-dark)
+;;(override-theme 'tangotango)
+;;(override-theme 'deeper-blue)
+;;(override-theme 'tango-dark)
+;;(override-theme 'tsdh-dark)
 
-    ;;(override-theme 'heroku)
-    ;;(override-theme 'inkpot)  ;; part of inkpot-theme package
-    ;;(override-theme 'naquadah) ; org mode features, part of  naquadah-theme package
-    ;;(override-theme 'spolsky) ;; part of sublime-themes package
-    ;;(override-theme 'twilight-anti-bright)  ;; from twilight-anti-bright-theme package
+;;(override-theme 'heroku)
+;;(override-theme 'inkpot)  ;; part of inkpot-theme package
+;;(override-theme 'naquadah) ; org mode features, part of  naquadah-theme package
+;;(override-theme 'spolsky) ;; part of sublime-themes package
+;;(override-theme 'twilight-anti-bright)  ;; from twilight-anti-bright-theme package
 
-    ;; interesting but not usable colors
-    ;;(override-theme 'cyberpunk) ; cool org mode features, from cyberpunk-theme package
-    ;;(override-theme 'wombat) ; cursor not visible enough. from a wombat package, not sure which
-    ;;(override-theme 'misterioso) ; cursor not visible enough
+;; interesting but not usable colors
+;;(override-theme 'cyberpunk) ; cool org mode features, from cyberpunk-theme package
+;;(override-theme 'wombat) ; cursor not visible enough. from a wombat package, not sure which
+;;(override-theme 'misterioso) ; cursor not visible enough
 
 
 
-    ;;decent light themes
-    ;;(override-theme 'alect-light) ; theres a -alt version, don't see a dif. could use this without dimming. from alect-something package
-    ;;(override-theme 'occidental) ; from occidental-theme package
+;;decent light themes
+;;(override-theme 'alect-light) ; theres a -alt version, don't see a dif. could use this without dimming. from alect-something package
+;;(override-theme 'occidental) ; from occidental-theme package
 
 
-    ;;color-theme is deprecated in emacs 24.
+;;color-theme is deprecated in emacs 24.
 
 ;; theme packages i tried then removed:
 ;; ignored ones that didn't use the new theme engine
@@ -809,10 +925,188 @@ Things I tried which didn't work, which intuitively I think should work better:
 (put 'dired-find-alternate-file 'disabled nil)
 #+end_src
 
+* mu4e
+[[info:org#External links]]
+[[info:mu4e#Keybindings]]
+
+alsot tried notmuch, it had some glitches, and it's config
+has a list of folders which i'd rather not publish, so it's config is archived.
+
+#+begin_src emacs-lisp
+;;(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e")
+(require 'mu4e)
+(setq send-mail-function (quote sendmail-send-it) ;; common to gnus also
+      mu4e-maildir "/m/4e"
+      ;; use the standard imap folders
+      mu4e-sent-folder   "/Sent"
+      mu4e-drafts-folder "/Drafts"
+      mu4e-trash-folder  "/Trash"
+      ;; standard imap folder is /Archive, but I've set this to /Junk,
+      ;; because I don't manually archive individual messages, and mu4e
+      ;; is lacking a button to move to the spam folder "Junk", and I
+      ;; want one to train spamassassin better.  Note: It calls
+      ;; archiving "refiling", so it's bound to r.
+      mu4e-refile-folder "/Junk"
+      ;; reindex new mail this often in seconds
+      ;; show addresses instead of just names
+      mu4e-view-show-addresses t
+      mu4e-use-fancy-chars t
+      mu4e-confirm-quit nil
+      mu4e-headers-leave-behavior 'apply ;; dont ask, do whatever was marked
+      mu4e-headers-fields (delq (assoc :mailing-list mu4e-headers-fields) mu4e-headers-fields)
+      ;; a bit faster than the default 500. trying out the default for now
+      ;;mu4e-headers-results-limit 80
+
+      ;; looking up the list of maildirs when doing jo from summary
+      ;; can take a few seconds if we have a ton of messages.
+      ;; Only take that time for the first lookup.
+      ;; if we add a new maildir, just restart mu4e for it to be in that list.
+      mu4e-cache-maildir-list t
+      ;; default is 8, way too small for my big monitors
+      mu4e-headers-visible-lines 50
+      )
+
+;; fucks up reading unread bookmark. when that is fixed, enable it
+;; (setq mu4e-update-interval 60)
+
+
+;; this file includes setting up my email addresses, which are not public,
+;; including
+;; mu4e-user-mail-address-list
+;; and a function
+;; inspired by mu4e info manual, search for mu4e-compose-pre-hook.
+(load "/p/c/mu4e.el")
+
+;; it's implemented in mu4e, but not in the actions list for
+;; some reason.
+(add-to-list 'mu4e-view-actions
+             '("browser view" . mu4e-action-view-in-browser) t)
+(setq mu4e-maildir-shortcuts
+      '( ("/INBOX"     . ?i)
+         ("/github" . ?g)
+         ("/zroe"  . ?z)
+         ("/Drafts"     . ?d)
+         ("/Sent"     . ?d)
+         ))
+
+;; normally, you would add to this, but we want to
+;; modify unread messages. the first 4 are defined by default.
+(setq mu4e-bookmarks
+      `( ,(make-mu4e-bookmark
+           :name  "Unread messages"
+           :query "flag:unread AND NOT flag:trashed AND NOT maildir:/Junk AND NOT maildir:/fwfw"
+           :key ?u)
+         ,(make-mu4e-bookmark
+           :name "Today's messages"
+           :query "date:today..now"
+           :key ?t)
+         ,(make-mu4e-bookmark
+           :name "Last 7 days"
+           :query "date:7d..now"
+           :key ?w)
+         ,(make-mu4e-bookmark
+           :name "Messages with images"
+           :query "mime:image/*"
+           :key ?p))
+      )
+
+
+(defun mu4e-action-msgs-by-this-sender (msg)
+  "In header view, view messages by the sender of the message under point."
+  (let ((from (mu4e-message-field msg :from)))
+    (unless from
+      (mu4e-error "No from header for this message"))
+    ;; from is structured like: (("Anacron" . "root@x2.lan"))
+    (mu4e-headers-search (concat "f:" (cdar from)))))
+
+(add-to-list 'mu4e-headers-actions
+             '("from this sender" . mu4e-action-msgs-by-this-sender) t)
+(add-to-list 'mu4e-view-actions
+             '("from this sender" . mu4e-action-msgs-by-this-sender) t)
+#+end_src
+
+
+
 * disabled but saved for documentation purposes
-  :PROPERTIES:
-  :tangle:   no
-  :END:
+:PROPERTIES:
+:header-args: :tangle no
+:END:
+
+** ido keybinds
+*** C-j
+ido-find-file create file
+*** //]
+ido goto root
+*** C-k]
+ido kill buffer/file
+*** C-d]
+ido open dired buffer
+*** M-d]
+ido search within all subdirectories
+*** M-m]
+ido create subdirectory
+*** M-s]
+ido search recently used directories
+*** M-n/p]
+ido next/previous recently used directory
+*** C-s]
+**** TODO implement this keybind, normally ctrl-space
+ido use current pattern and start a new one
+
+
+** indent settings for git's perl code
+don't have a way to set this automatically or a good place to put this
+#+begin_src emacs-lisp
+(setq
+ perl-indent-level 8
+ perl-continued-statement-offset 8
+ perl-continued-brace-offset -8
+ perl-brace-offset 0
+ perl-brace-imaginary-offset 0
+ indent-tabs-mode t
+ )
+#+end_src
+** org mode website
+
+#+begin_src emacs-lisp
+;; use org-publish-current-project with a project file open
+(setq org-publish-project-alist
+      '(("org"
+         :base-directory "/a/h/src"
+         :publishing-directory "/a/h/output"
+         :base-extension "org"
+         ;;:publishing-function org-org-publish-to-org
+         :publishing-function org-html-publish-to-html
+         :preserve-breaks t
+         :html-postamble "Everything here is <a rel=\"license\"
+    href=\"http://creativecommons.org/licenses/by-sa/4.0/\"><img
+    alt=\"Creative Commons License\" style=\"border-width:0\"
+    src=\"http://i.creativecommons.org/l/by-sa/4.0/80x15.png\" /></a>"
+         :html-head "<link rel=\"stylesheet\"
+                               href=\"style.css\"
+                               type=\"text/css\"/>"
+         :htmlized-source t)
+        ("othersrc"
+         :base-directory "/a/h/src"
+         :base-extension "css\\|el\\|"
+         :publishing-directory "/a/h/output"
+         :publishing-function org-publish-attachment)
+        ("other"
+         :base-directory "/a/h/other"
+         :base-extension ".*"
+         :publishing-directory "/a/h/output"
+         :publishing-function org-publish-attachment)))
+;; default is xhtml-strict. don't really care, but this is more common
+(setq org-html-doctype "html4-strict")
+
+;; this is needed for worg
+;; todo: for my own site, I need to define the css in a separate file
+;; in order to use this setting. see the variable help for info
+(setq org-export-htmlize-output-type t)
+
+
+#+end_src
+
 ** bash-completion
 #+begin_src emacs-lisp
 ;; this eventually gets set in
@@ -834,42 +1128,13 @@ Things I tried which didn't work, which intuitively I think should work better:
 
 #+end_src
 
-** ace-jump
+** misc stuff
   It is an awesome mode for keyboard navigation.
-  However, using the mouse takes less thought and works as well,
-  especially with my foot mouse ;)
+  However, using the mouse takes less thought and works as well
 
   #+begin_src emacs-lisp
 
 
-
-
-    ;; this has a problem that it doesn't work with emacsclient, so I'm using a more standard method
-    ;; This has the benefit of working with less fuss otherwise, I think.
-    ;; no method works on a terminal
-    ;; makes C-i and tab be distinct. same deal is done for c-m
-    ;;(setq local-function-key-map (delete '(tab . [9]) local-function-key-map))
-    ;;  (define-key input-decode-map (kbd "C-i") [f15])
-    ;;  (define-key input-decode-map (kbd "<f15>") [?\C-i])
-    ;;  (define-key input-decode-map (kbd "<tab>") [?\C-i])
-    ;;  (global-set-key (kbd "<f15>") 'query-replace)
-
-
-                                            ; not using ace jump mode, but if mouse is ever not good,
-                                            ; here is config for it
-    (require 'ace-jump-mode)
-    (eval-after-load "ace-jump-mode"
-      '(ace-jump-mode-enable-mark-sync))
-    (define-key global-map (kbd "") 'ace-jump-mode)
-
-
-
-    ;; revert buffers automatically when underlying files are changed externally
-    ;; too dangerous, and thus disabled.
-    ;; do m-x auto-revert-mode to auto-rever a specific buffer
-    ;;(global-auto-revert-mode t)
-
-
     ;; whitespace-mode config. minimal for bad whitespace
                                             ;(setq whitespace-line-column 80) ; for style of lines-tail, but I have it disabled
     (setq whitespace-style '(face tabs empty trailing))
@@ -995,55 +1260,6 @@ seems like 1 in 100 times, an invisible command to restore prompt didn't work
 
 
 
-** mu4e
-
-alsot tried notmuch, it had some glitches, and it's config
-has a list of folders which i'd rather not publish, so it's config is archived.
-
-#+begin_src emacs-lisp
-(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e")
-(require 'mu4e)
-(setq send-mail-function (quote sendmail-send-it) ;; common to gnus also
-      mu4e-sent-folder   "/Sent Items"
-      mu4e-drafts-folder "/Drafts"
-      mu4e-trash-folder  "/Trash"
-      mu4e-refile-folder "/Archive"
-      mu4e-get-mail-command "offlineimap"
-      mu4e-update-interval 60
-      mu4e-sent-messages-behavior 'delete
-      mu4e-use-fancy-chars t
-      mu4e-confirm-quit nil
-      mu4e-headers-leave-behavior 'apply ;; dont ask
-      mu4e-headers-fields (delq (assoc :mailing-list mu4e-headers-fields) mu4e-headers-fields)
-      ;; a bit faster than the default 500
-      mu4e-headers-results-limit 80)
-
-(define-key mu4e-headers-mode-map (kbd "<return>") 'mu4e-headers-view-message)
-
-(defun my-mu4e-to ()
-  "inspired by mu4e info manual"
-  (--reduce-from (if (mu4e-message-contact-field-matches
-                      mu4e-compose-parent-message :to (cadr it))
-                     (concat (car it) (cadr it))
-                   acc)
-                 '("Ian Kelling <ian@iankelling.org")
-                 ;;'(("Ian Kelling " "<alternate1@example.com>")
-                 ;;  ("Ian Kelling " "<alternate2@example.com>"))
-                   ))
-
-(add-hook 'mu4e-compose-pre-hook 'my-mu4e-to)
-
-(add-to-list 'mu4e-view-actions
-             '("ViewInBrowser" . mu4e-action-view-in-browser) t)
-(setq mu4e-maildir-shortcuts
-      '( ("/INBOX"     . ?i)
-         ("/bog"  . ?b)
-         ("/Drafts"     . ?d)))
-
-#+end_src
-
-
-
 
 ** org-mode auto-complete source
 
@@ -1079,63 +1295,16 @@ this looks nice, but it lags gnus just a bit
 
 #+end_src
 
-** readline complete fix, replaced with proper solution
-
-i had commented out a few lines here, but instead I am setting in my profile
-the environment variable I commented out here. Yes, that is not the best explanation, but I will probably delete this as
-old history anyways.
-#+begin_src emacs-lisp
-
-(defun comint-exec-1 (name buffer command switches)
-  (let ((process-environment
-        (nconc
-         ;; If using termcap, we specify `emacs' as the terminal type
-         ;; because that lets us specify a width.
-         ;; If using terminfo, we specify `dumb' because that is
-         ;; a defined terminal type.  `emacs' is not a defined terminal type
-         ;; and there is no way for us to define it here.
-         ;; Some programs that use terminfo get very confused
-         ;; if TERM is not a valid terminal type.
-         ;; ;; There is similar code in compile.el.
-         (if (and (boundp 'system-uses-terminfo) system-uses-terminfo)
-             (list "TERM=dumb" "TERMCAP="
-                   (format "COLUMNS=%d" (window-width)))
-           (list "TERM=emacs"
-                 (format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width))))
-          ;; ian: commented this out
-         ;;(unless (getenv "EMACS")
-         ;;  (list "EMACS=t"))
-         (list (format "INSIDE_EMACS=%s,comint" emacs-version))
-         process-environment))
-       (default-directory
-         (if (file-accessible-directory-p default-directory)
-             default-directory
-           "/"))
-       proc decoding encoding changed)
-    (let ((exec-path (if (and command (file-name-directory command))
-                        ;; If the command has slashes, make sure we
-                        ;; first look relative to the current directory.
-                        (cons default-directory exec-path) exec-path)))
-      (setq proc (apply 'start-file-process name buffer command switches)))
-    ;; Some file name handler cannot start a process, fe ange-ftp.
-    (unless (processp proc) (error "No process started"))
-    (let ((coding-systems (process-coding-system proc)))
-      (setq decoding (car coding-systems)
-           encoding (cdr coding-systems)))
-    ;; Even if start-file-process left the coding system for encoding data
-    ;; sent from the process undecided, we had better use the same one
-    ;; as what we use for decoding.  But, we should suppress EOL
-    ;; conversion.
-    (if (and decoding (not encoding))
-       (setq encoding (coding-system-change-eol-conversion decoding 'unix)
-             changed t))
-    (if changed
-       (set-process-coding-system proc decoding encoding))
-    proc))
-#+end_src
 ** misc
 #+begin_src emacs-lisp
 
+;; this makes more ergonomic sense, since our eyes are mostly on the left,
+;; but after using it a while, it's too much cognitive dissonance that
+;; every other program has it on the right
+;;(set-scroll-bar-mode 'left)
+
+
+
 ; todo, is this require things necessary?
 ;    (require 'flyspell)
 
@@ -1151,10 +1320,6 @@ old history anyways.
   ;(global-set-key (kbd "<tab>")  'complete-symbol)
 
 
-  ; todo, see how mastering emacs defines this function
-  ;(global-set-key (kbd "M-j") 'ido-goto-symbol)
-
-
   ; todo, make my custom overlays have an underline if they are
   ;  overriding a paren matching overlay
   ; make right click set the mark
@@ -1294,6 +1459,21 @@ disabled, as I haven't used it in a long time. I think it was good for learning
 #+end_src
 
 
+** icomplete
+#+begin_src emacs-lisp
+;; without this, on partial completion return would exit the minibuffer, and i had to
+;; keep typing out letters do a full completion before pressing enter.
+;; super annoying. So I picked ctrl-j as a free key to put exit,
+;; but in practice, I would just use ctrl-g to quit. Anyways,
+;; ivy is doing all the minibuffer stuff, so removed this as it's
+;; unused, so it can't cause any problems in future
+(when (boundp 'icomplete-minibuffer-map)
+  (define-key icomplete-minibuffer-map (kbd "C-j") 'exit-minibuffer)
+  (define-key icomplete-minibuffer-map (kbd "<return>")
+    'minibuffer-force-complete-and-exit))
+
+
+#+end_src
 * elisp settings
 #+begin_src emacs-lisp
 ; when manually evaluating lisp, go into debugger on error
@@ -1637,122 +1817,11 @@ make all
 #+RESULTS:
 | (lambda nil (define-key haskell-interactive-mode-map (kbd <C-M-return>) (quote haskell-interactive-mode-newline-indent))) | (lambda nil (define-key haskell-interactive-mode-map \n nil) (define-key haskell-interactive-mode-map (kbd <return>) (quote haskell-interactive-mode-return))) | ac-haskell-process-setup |
 
-* ido
+* isearch
 #+begin_src emacs-lisp
-
-;; easier to read, and more than the default 12
-(setq ido-separator nil)
-(setq ido-max-prospects 20)
-
-(ido-mode t)
-(ido-everywhere t)  ;; file dialogs
-
-;; do out of order matching when all else fails
-(setq ido-enable-flex-matching t
-      ido-create-new-buffer 'always ;; create new buffer/file without asking
-      ido-use-filename-at-point 'guess ;; use filename at point if it makes sense
-      ido-save-directory-list-file "~/.emacs.d/.ido.last"
-      ido-default-file-method 'selected-window) ;; make duplicate windows
-;; todo, the next 2 functions seem to do roughly the same.
-;;   figure out which one is better. the first comes from emacs starter kit,
-;;   i forget about the second.
-(defun ido-imenu ()
-  "Update the imenu index and then use ido to select a symbol to navigate to.
-  Symbols matching the text at point are put first in the completion list."
-  (interactive)
-  (imenu--make-index-alist)
-  (let ((name-and-pos '())
-        (symbol-names '()))
-    (cl-flet ((addsymbols (symbol-list)
-                          (when (listp symbol-list)
-                            (dolist (symbol symbol-list)
-                              (let ((name nil) (position nil))
-                                (cond
-                                 ((and (listp symbol) (imenu--subalist-p symbol))
-                                  (addsymbols symbol))
-
-                                 ((listp symbol)
-                                  (setq name (car symbol))
-                                  (setq position (cdr symbol)))
-
-                                 ((stringp symbol)
-                                  (setq name symbol)
-                                  (setq position (get-text-property 1 'org-imenu-marker symbol))))
-
-                                (unless (or (null position) (null name))
-                                  (add-to-list 'symbol-names name)
-                                  (add-to-list 'name-and-pos (cons name position))))))))
-      (addsymbols imenu--index-alist))
-    ;; If there are matching symbols at point, put them at the beginning of `symbol-names'.
-    (let ((symbol-at-point (thing-at-point 'symbol)))
-      (when symbol-at-point
-        (let* ((regexp (concat (regexp-quote symbol-at-point) "$"))
-               (matching-symbols (delq nil (mapcar (lambda (symbol)
-                                                     (if (string-match regexp symbol) symbol))
-                                                   symbol-names))))
-          (when matching-symbols
-            (sort matching-symbols (lambda (a b) (> (length a) (length b))))
-            (mapc (lambda (symbol) (setq symbol-names (cons symbol (delete symbol symbol-names))))
-                  matching-symbols)))))
-    (let* ((selected-symbol (ido-completing-read "Symbol? " symbol-names))
-           (position (cdr (assoc selected-symbol name-and-pos))))
-      (goto-char position))))
-
-(defun ido-goto-symbol (&optional symbol-list)
-  "Refresh imenu and jump to a place in the buffer using Ido."
-  (interactive)
-  (unless (featurep 'imenu)
-    (require 'imenu nil t))
-  (cond
-   ((not symbol-list)
-    (let ((ido-mode ido-mode)
-          (ido-enable-flex-matching
-           (if (boundp 'ido-enable-flex-matching)
-               ido-enable-flex-matching t))
-          name-and-pos symbol-names position)
-      (unless ido-mode
-        (ido-mode 1)
-        (setq ido-enable-flex-matching t))
-      (while (progn
-               (imenu--cleanup)
-               (setq imenu--index-alist nil)
-               (ido-goto-symbol (imenu--make-index-alist))
-               (setq selected-symbol
-                     (ido-completing-read "Symbol? " symbol-names))
-               (string= (car imenu--rescan-item) selected-symbol)))
-      (unless (and (boundp 'mark-active) mark-active)
-        (push-mark nil t nil))
-      (setq position (cdr (assoc selected-symbol name-and-pos)))
-      (cond
-       ((overlayp position)
-        (goto-char (overlay-start position)))
-       (t
-        (goto-char position)))))
-   ((listp symbol-list)
-    (dolist (symbol symbol-list)
-      (let (name position)
-        (cond
-         ((and (listp symbol) (imenu--subalist-p symbol))
-          (ido-goto-symbol symbol))
-         ((listp symbol)
-          (setq name (car symbol))
-          (setq position (cdr symbol)))
-         ((stringp symbol)
-          (setq name symbol)
-          (setq position
-                (get-text-property 1 'org-imenu-marker symbol))))
-        (unless (or (null position) (null name)
-                    (string= (car imenu--rescan-item) name))
-          (add-to-list 'symbol-names (substring-no-properties name))
-          (add-to-list 'name-and-pos (cons (substring-no-properties name) position))))))))
-
-#+end_src
-
-* isearch
-#+begin_src emacs-lisp
-(setq
-isearch-allow-scroll t
-search-ring-update t) ;; dont start an edit when going to previous search
+(setq
+isearch-allow-scroll t
+search-ring-update t) ;; dont start an edit when going to previous search
 
    (defun isearch-yank-regexp (regexp)
      "Pull REGEXP into search regexp."
@@ -1959,10 +2028,20 @@ currently makes emacs hang a bunch. dunno why. just using eclipse instead
 * modes with little configuration needed
   #+begin_src emacs-lisp
 
+;;(require 'dtrt-indent)
+;;(setq dtrt-indent-mode t)
+
+(setq css-indent-offset 2)
+
+(load-file "/a/h/iank-mod.el")
+
+(add-to-list 'load-path "/a/opt/ws-butler")
+
 (require 'ws-butler)
 (ws-butler-global-mode)
 
 
+
 (require 'nginx-mode)
 ;;The mode should automatically activate for files called nginx.conf and files under /etc/nginx - if not, you can add something like this to your init file:
 ;;(add-to-list 'auto-mode-alist '("/etc/nginx/sites-available/.*" . nginx-mode))
@@ -2022,35 +2101,7 @@ currently makes emacs hang a bunch. dunno why. just using eclipse instead
 (require 'magit)
 
 
-;; http://ergoemacs.org/emacs/emacs_CSS_colors.html
-;; there's also rainbow mode, which seems to only work for specific colors? it didn't work at all for me in a css file.
-;; todo, do config group on it, and try out one of those colors.
-(defun xah-syntax-color-hsl ()
-  "Syntax color hex color spec such as 「hsl(0,90%,41%)」 in current buffer."
-  (interactive)
-  (font-lock-add-keywords
-   nil
-   '(("hsl( *\\([0-9]\\{1,3\\}\\) *, *\\([0-9]\\{1,3\\}\\)% *, *\\([0-9]\\{1,3\\}\\)% *)"
-      (0 (put-text-property
-          (+ (match-beginning 0) 3)
-          (match-end 0)
-          'face (list :background
-                      (concat "#" (mapconcat 'identity
-                                             (mapcar
-                                              (lambda (x) (format "%02x" (round (* x 255))))
-                                              (color-hsl-to-rgb
-                                               (/ (string-to-number (match-string-no-properties 1)) 360.0)
-                                               (/ (string-to-number (match-string-no-properties 2)) 100.0)
-                                               (/ (string-to-number (match-string-no-properties 3)) 100.0)
-                                               ) )
-                                             "" )) ;  "#00aa00"
-                      ))))) )
-  (font-lock-fontify-buffer)
-  )
-
-(add-hook 'css-mode-hook 'xah-syntax-color-hsl)
-(add-hook 'php-mode-hook 'xah-syntax-color-hsl)
-(add-hook 'html-mode-hook 'xah-syntax-color-hsl)
+;; colorize hex colors: use rainbow mode
 
 
 ;; message mode prompted me on first message.
@@ -2197,9 +2248,6 @@ currently makes emacs hang a bunch. dunno why. just using eclipse instead
 ;; disable this nasty function, as I always use a gui
 (defun suspend-frame() (interactive))
 
-;; to reopen just ido-switch-buffer (c-l), *scratch*
-;;  (kill-buffer "*scratch*")
-
 ;; Seed the random-number generator
 (random t)
 
@@ -2243,8 +2291,11 @@ currently makes emacs hang a bunch. dunno why. just using eclipse instead
       mark-ring-max 160
       sort-fold-case t  ; case insensitive line sorting
       global-mark-ring-max 1000
-      ;; the bell seems to lag the ui
+      ;; the visible bell seems to lag the ui
       ;;visible-bell t
+      ;; turn off audible bell
+      ;; https://www.emacswiki.org/emacs/AlarmBell
+      ring-bell-function 'ignore
       case-replace nil
       revert-without-query '(".*")
       ;; don't pause display code on input.
@@ -2266,7 +2317,6 @@ currently makes emacs hang a bunch. dunno why. just using eclipse instead
 (blink-cursor-mode '(-4))
 (menu-bar-mode -1)
 (tool-bar-mode -1)
-(set-scroll-bar-mode 'left)
 
 
 ;; enable various commands
@@ -2650,7 +2700,6 @@ disabled until fixed
 
   #+end_src
 ** mouse 1 drag func
-  :PROPERTIES:
 
 disabled as it breaks in newer emacs versions with this error, when
 clicking on info links
@@ -3094,52 +3143,21 @@ clicking on info links
     (org-clock-in)))
 
 
-;; use org-publish-current-project with a project file open
-(setq org-publish-project-alist
-      '(("org"
-         :base-directory "/a/h/src"
-         :publishing-directory "/a/h/output"
-         :base-extension "org"
-         ;;:publishing-function org-org-publish-to-org
-         :publishing-function org-html-publish-to-html
-         :preserve-breaks t
-         :html-postamble "Everything here is <a rel=\"license\"
-    href=\"http://creativecommons.org/licenses/by-sa/4.0/\"><img
-    alt=\"Creative Commons License\" style=\"border-width:0\"
-    src=\"http://i.creativecommons.org/l/by-sa/4.0/80x15.png\" /></a>"
-         :html-head "<link rel=\"stylesheet\"
-                               href=\"style.css\"
-                               type=\"text/css\"/>"
-         :htmlized-source t)
-        ("othersrc"
-         :base-directory "/a/h/src"
-         :base-extension "css\\|el\\|"
-         :publishing-directory "/a/h/output"
-         :publishing-function org-publish-attachment)
-        ("other"
-         :base-directory "/a/h/other"
-         :base-extension ".*"
-         :publishing-directory "/a/h/output"
-         :publishing-function org-publish-attachment)))
-;; default is xhtml-strict. don't really care, but this is more common
-(setq org-html-doctype "html4-strict")
-
-;; this is needed for worg
-;; todo: for my own site, I need to define the css in a separate file
-;; in order to use this setting. see the variable help for info
-(setq org-export-htmlize-output-type t)
-
 
 ;; based on http://stackoverflow.com/questions/3758139/variable-pitch-for-org-mode-fixed-pitch-for-tables
 ;; keywords: proportional font, monospace
-(add-hook 'fundamental-mode-hook 'variable-pitch-mode)
-(add-hook 'text-mode-hook 'variable-pitch-mode)
+
+(defun variable-pitch-on ()
+  (variable-pitch-mode 1))
+(add-hook 'fundamental-mode-hook 'variable-pitch-on)
+(add-hook 'org-mode-hook 'variable-pitch-on)
+(add-hook 'text-mode-hook 'variable-pitch-on)
+
 (set-face-attribute 'org-table nil :family (face-attribute 'fixed-pitch :family))
 (set-face-attribute 'org-code nil :family (face-attribute 'fixed-pitch :family))
 (set-face-attribute 'org-formula nil :family (face-attribute 'fixed-pitch :family))
 (set-face-attribute 'org-link nil :family (face-attribute 'fixed-pitch :family))
 (set-face-attribute 'org-block nil :family (face-attribute 'fixed-pitch :family))
-(set-face-attribute 'org-block-background nil :family (face-attribute 'fixed-pitch :family))
 (set-face-attribute 'org-date nil :family (face-attribute 'fixed-pitch :family))
 
 
@@ -3224,8 +3242,8 @@ disabled cuz I have none yet
   (setq ac-sources (delq 'ac-source-dictionary ac-sources))
   (highlight-symbol-mode)
   (make-local-variable 'column-number-mode)
+  ;; this says do autofilling using newcomment.el. The "only" is a misnomer.
   (set (make-local-variable 'comment-auto-fill-only-comments) t)
-  (auto-fill-mode t)
   (column-number-mode t)
   (turn-on-smartparens-mode)
 
@@ -3373,9 +3391,6 @@ downgraded to marmalade version and everything is working fine.
 
 ;; Except in HTML
 (sp-local-pair 'html-mode "\"" nil :unless '(:rem sp-point-after-word-p))
-;; CoffeeScript PyStrings
-(push 'coffee-mode sp-autoescape-string-quote-if-empty)
-
 
 
   #+end_src
@@ -3641,50 +3656,14 @@ when in the same session, you can then do:
 
 *** org insert table row
 [org-shiftmetadown/up]
-*** toggle line continuation / truncation / wrap                      :drill:
-SCHEDULED: <2014-04-07 Mon>
-:PROPERTIES:
-:ID:       5f3f567a-0926-4d92-81f3-4e4cd6070af2
-:DRILL_LAST_INTERVAL: 28.6736
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.4
-:DRILL_EASE: 2.666
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:37>
-:END:
-    [toggle-truncate-lines]
-*** auto-save on/off                                                  :drill:
-SCHEDULED: <2014-05-13 Tue>
-:PROPERTIES:
-:ID:       462f859d-1a06-46a3-ac72-6ffe5b4417c9
-:DRILL_LAST_INTERVAL: 71.5839
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:11>
-:END:
-    [my-as-on/my-as-off]
+*** toggle line continuation / truncation / wrap
+    toggle-truncate-lines
+*** auto-save on/off
+    my-as-on/my-as-off
 *** toggle menu bar
-[menu-bar-mode]
-*** show abbreviations  :drill:
-SCHEDULED: <2014-03-24 Mon>
-:PROPERTIES:
-:ID:       479a2ced-b952-4088-a6e3-862cd37693a9
-:DRILL_LAST_INTERVAL: 32.7466
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.0
-:DRILL_EASE: 3.204
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 18:03>
-:END:
-[list-abbrevs]
+menu-bar-mode
+*** show abbreviations
+list-abbrevs
 
 *** rename-file-and-buffer
 *** ediff-buffers
@@ -3693,6 +3672,7 @@ automatically balance a paragraph with newlines
 *** executable-make-buffer-file-executable-if-script-p
 make a script executable
 *** (setq lazy-highlight-cleanup nil)
+keep search highlight on after search is done
 *** auto-revert-tail-mode
 tail a file
 *** trash-file-and-buffer
@@ -3720,37 +3700,10 @@ format xml in nxml-mode
 toggle word wrap.
 ** compound commands
 *** C-xc
-:PROPERTIES:
-:ID:       d0802daa-9281-4a9f-ab4a-47d9f7ef7cfd
-:END:
-exit
-*** [C-x x]                                                           :drill:
-SCHEDULED: <2014-03-24 Mon>
-:PROPERTIES:
-:ID:       2f7d1353-3c20-4e00-95ea-1f84c4d87fc1
-:DRILL_LAST_INTERVAL: 32.7466
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.0
-:DRILL_EASE: 3.204
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 18:03>
-:END:
+exit0
+*** C-x s
 save file
-*** [C-x e]                                                           :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       b802eeb8-ddcd-4778-844a-b6e737b54d7d
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:41>
-:END:
+*** C-x e
 eval last sexp
 *** C-x u
 [undo-tree-visualize]
@@ -3758,20 +3711,8 @@ eval last sexp
 [undo-tree save/restore state via register]
 *** C-c -
 [org insert table horizontal line or create list]
-*** [C-x tab]                                                         :drill:
-SCHEDULED: <2014-03-24 Mon>
-:PROPERTIES:
-:ID:       ceb701d7-3d44-4781-ae23-7309ca887a01
-:DRILL_LAST_INTERVAL: 32.7466
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.0
-:DRILL_EASE: 3.204
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:50>
-:END:
-dumb indent
+*** C-x tab
+indent/dedent region
 
 [shift-left and shift-right are default for indenting by tab stop,
 and they are only defined as lambdas so I copy them here
@@ -3791,7 +3732,6 @@ to use with up and down.
                (next (indent--next-tab-stop current 'prev)))
           (indent-rigidly beg end (- next current))))))
 #+end_src
-]
 *** C-x *
 [calc-dispatch]
 *** C-x =
@@ -3803,27 +3743,30 @@ to use with up and down.
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-x C-b") 'ibuffer)
 #+end_src
+
+*** C-x r c
+rectangular clear, replace area with whitespace
 ** gnus
 searching overview.
 3 types:
 ingroup searching
 nnir searching with notmuch, specific group (not sure if it can do multiple)
 search all groups with mairix
-*** [a]
+*** a]
 compose new message
-*** [C-c C-c]
+*** C-c C-c]
 send message
-*** [s]
+*** s]
 save newsrc file, alterations to groups.
-*** [g]
+*** g]
 gnus refresh / get new
-*** [m]
+*** m]
 gnus new message
-*** [F]
+*** F]
 gnus quoted reply all
-*** [e]
+*** e]
 gnus draft edit message
-*** [delete]
+*** delete]
 gnus delete draft
 #+begin_src emacs-lisp
 (add-hook 'gnus-startup-hook
@@ -3831,7 +3774,7 @@ gnus delete draft
             (define-key gnus-summary-mode-map (kbd "<delete>") 'gnus-summary-delete-article)))
 #+end_src
 
-*** [b]
+*** b]
 mairix search
 #+begin_src emacs-lisp
 (add-hook 'gnus-startup-hook
@@ -3839,13 +3782,13 @@ mairix search
             (define-key gnus-group-mode-map "b" 'nnmairix-search)
             (define-key gnus-summary-mode-map "b" 'nnmairix-search)))
 #+end_src
-*** [B m]
+*** B m]
 move message, or messages in region
-*** [#]
+*** #]
 mark article, move with B m
-*** [B delete]
+*** B delete]
 gnus delete draft
-*** [/ plus x a / b]
+*** / plus x a / b]
 search current group (or see info manual for more groups),
 using the gnus native search (its slow, do a notmuch or mairix search instead)
 x= extra (ie. to)
@@ -3854,215 +3797,59 @@ a = author
 / = subject
 b = body
 see C-h m for a full list
-*** [ G G ]
+***  G G ]
 do a nnir notmuch search, for the group on the current line
-*** [ A T ]
+***  A T ]
 jump to thread from nnir group
 
-*** [marks]
+*** marks]
 ! = saved for later
 E = expired
 M-& apply process mark to a non-process mark command
-*** [S D e]
+*** S D e]
 edit as new
+*** T k / C-M-k
+maybe rebind this to a shorter keybind, like del
+gnus-summary-kill-thread
 ** message mode
-*** [C-ck]
+*** C-ck]
 discard message
 ** notmuch
-*** [space]
+*** space]
 notmuch advance to next message/thread
 
 ** readline / bash / .inputrc
-*** [M-0-9]
-SCHEDULED: <2014-05-13 Tue>
-:PROPERTIES:
-:ID:       dac68f2e-37c2-448e-861d-0554e51f1414
-:DRILL_LAST_INTERVAL: 71.5839
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-:END:
+*** M-0-9]
 bash digit-argument
 
 removed drill from all these because I'm using emacs for shell now
-*** [C-2]
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:ID:       d2e87812-6ab7-432f-ad7c-4281c0e3b86b
-:DRILL_LAST_INTERVAL: 12.979
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.333
-:DRILL_EASE: 2.626
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:00>
-:END:
+*** C-2]
 terminal X paste
-*** [C-3]
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:ID:       3b156730-eb92-4149-b4ce-f93a9098d2b4
-:DRILL_LAST_INTERVAL: 12.979
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.333
-:DRILL_EASE: 2.626
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:00>
-:END:
+*** C-3]
 terminal open file manager
-*** [C-q]
-SCHEDULED: <2014-03-12 Wed>
-:PROPERTIES:
-:ID:       ed6a19de-d000-4469-9dd9-7b9e35f6c751
-:DRILL_LAST_INTERVAL: 2.8975
-:DRILL_REPEATS_SINCE_FAIL: 2
-:DRILL_TOTAL_REPEATS: 10
-:DRILL_FAILURE_COUNT: 12
-:DRILL_AVERAGE_QUALITY: 2.692
-:DRILL_EASE: 2.311
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:33>
-:END:
+*** C-q]
 bash exchange-point-and-mark
 
-*** [C-M-q]
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       9827eb7e-532e-41fb-8d91-8c95c23553f5
-:DRILL_LAST_INTERVAL: 11.6739
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.333
-:DRILL_EASE: 2.626
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-:END:
+*** C-M-q]
 quoted insert
-*** [C-w]
-SCHEDULED: <2014-04-07 Mon>
-:PROPERTIES:
-:ID:       58fea89a-def9-4aac-95d4-fdd63fde8097
-:DRILL_LAST_INTERVAL: 28.6736
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.4
-:DRILL_EASE: 2.666
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-:END:
+*** C-w]
     bash kill-region
-*** [C-e]
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       3ee7662f-3ac7-46ff-afe7-73244656d48b
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-:END:
+*** C-e]
     bash yank-last-arg
 *** C-r
-:PROPERTIES:
-:ID:       579a9008-0758-4ba9-a52f-175f264fe96a
-:END:
     bash history-search-backward
-*** [C-t]
-SCHEDULED: <2014-04-04 Fri>
-:PROPERTIES:
-:ID:       25e737fe-52c4-452b-ab93-037575375579
-:DRILL_LAST_INTERVAL: 26.2331
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.2
-:DRILL_EASE: 2.554
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-:END:
+*** C-t]
     shell-expand-line, expand like bash does u hit enter
-*** [C-a]
-SCHEDULED: <2014-04-06 Sun>
-:PROPERTIES:
-:ID:       384b3337-3cb0-4b3b-8a1a-8ae299ae212b
-:DRILL_LAST_INTERVAL: 27.9921
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.6
-:DRILL_EASE: 2.802
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:37>
-:END:
+*** C-a]
     bash comment-line
-*** [C-s]
-SCHEDULED: <2014-03-10 Mon>
-:PROPERTIES:
-:ID:       4b5c71f9-6035-4b92-bcad-e400e5e25d66
-:DRILL_LAST_INTERVAL: 8.225
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 4
-:DRILL_AVERAGE_QUALITY: 2.879
-:DRILL_EASE: 2.399
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 20:57>
-:END:
+*** C-s]
     bash yank-nth-arg
     yank $1 of last argument, or nth if prefixed with a digit argument
-*** [C-d]
-SCHEDULED: <2014-03-12 Wed>
-:PROPERTIES:
-:ID:       f5da97c1-6e3c-44dd-a2f1-7dacd7f523da
-:DRILL_LAST_INTERVAL: 9.8132
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 3
-:DRILL_AVERAGE_QUALITY: 3.21
-:DRILL_EASE: 2.559
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:04>
-:END:
+*** C-d]
    bash undo
-*** [C-f]
-SCHEDULED: <2014-05-13 Tue>
-:PROPERTIES:
-:ID:       0f1def18-0d94-45e7-b258-f621e67cefd7
-:DRILL_LAST_INTERVAL: 71.5839
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:11>
-:END:
+*** C-f]
 bash menu-complete
-*** [C-g]
-SCHEDULED: <2014-03-10 Mon>
-:PROPERTIES:
-:ID:       263e9479-de1d-4e78-8600-5a0f3a8e2dd9
-:DRILL_LAST_INTERVAL: 8.0608
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 8
-:DRILL_FAILURE_COUNT: 5
-:DRILL_AVERAGE_QUALITY: 2.966
-:DRILL_EASE: 2.439
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:04>
-:END:
+*** C-g]
    bash edit-and-execute-command
 *** C-z
 *** C-x
@@ -4075,152 +3862,32 @@ SCHEDULED: <2014-03-10 Mon>
     yank, aka paste
 *** C-M-v
     yank-pop
-*** [C-b]
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       1a688c40-4bba-4053-a28b-0e1e8d3f4985
-:DRILL_LAST_INTERVAL: 4.9208
-:DRILL_REPEATS_SINCE_FAIL: 2
-:DRILL_TOTAL_REPEATS: 8
-:DRILL_FAILURE_COUNT: 4
-:DRILL_AVERAGE_QUALITY: 3.066
-:DRILL_EASE: 2.487
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:33>
-:END:
+*** C-b]
    bash menu-complete-backward
 *** tab
 completion
-*** [C-tab]
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       75d57537-8a32-4a18-982e-6d6f756a9ba6
-:DRILL_LAST_INTERVAL: 12.2744
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.667
-:DRILL_EASE: 2.855
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-:END:
+*** C-tab]
 terminal find
-*** [C-left/right]
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       5587c07b-c003-470f-bef4-fa55f00524ff
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:41>
-:END:
+*** C-left/right]
    forward/backward-word
 
-*** [C-u]
-SCHEDULED: <2014-03-19 Wed>
-:PROPERTIES:
-:ID:       b5342b6b-f14f-4a6b-99d8-110fdef243f2
-:DRILL_LAST_INTERVAL: 24.3844
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.0
-:DRILL_EASE: 2.456
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:51>
-:END:
+*** C-u]
    bash backward-kill-word
-*** [C-i]
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       6e306a04-8f21-4142-8c00-8a87a3544d6e
-:DRILL_LAST_INTERVAL: 11.6739
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.333
-:DRILL_EASE: 2.626
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 20:58>
-:END:
+*** C-i]
 terminal find up
 [ terminal crap, duplicate of tab ]
-*** [C-o]
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:ID:       40b6d9ce-2427-4905-b444-d6d90c5a4da4
-:DRILL_LAST_INTERVAL: 23.5247
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.5
-:DRILL_EASE: 2.73
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:25>
-:END:
+*** C-o]
    bash operate-and-get-next, submit and bring up next item in history
-*** [C-p]
-SCHEDULED: <2014-03-11 Tue>
-:PROPERTIES:
-:ID:       4956027e-c5da-48de-8925-6f6b6dd98cec
-:DRILL_LAST_INTERVAL: 1.575
-:DRILL_REPEATS_SINCE_FAIL: 1
-:DRILL_TOTAL_REPEATS: 9
-:DRILL_FAILURE_COUNT: 8
-:DRILL_AVERAGE_QUALITY: 2.597
-:DRILL_EASE: 2.265
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:38>
-:END:
+*** C-p]
 bash dabbrev-expand,
     complete historical command names
 *** C-h
     terminal incompatible junk
-*** [C-k]
-SCHEDULED: <2014-05-09 Fri>
-:PROPERTIES:
-:ID:       f91ff161-8d8c-4f47-beb5-09f86bf774d5
-:DRILL_LAST_INTERVAL: 67.6174
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-:END:
+*** C-k]
    bash kill-line, to end of line
-*** [C-l]
-SCHEDULED: <2014-05-13 Tue>
-:PROPERTIES:
-:ID:       4798acc1-4fc8-406e-bc95-8131cfa255a5
-:DRILL_LAST_INTERVAL: 71.5839
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:12>
-:END:
+*** C-l]
    bash clear screen
-*** [C-m]
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       119a0a90-9253-4131-b0c8-5aa7d8cf2259
-:DRILL_LAST_INTERVAL: 11.6739
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.333
-:DRILL_EASE: 2.626
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 20:58>
-:END:
+*** C-m]
 [--------]
 #+begin_src emacs-lisp
 (add-hook 'comint-mode-hook
@@ -4228,361 +3895,73 @@ SCHEDULED: <2014-03-14 Fri>
             (define-key comint-mode-map "\C-m" nil)))
 
 #+end_src
-*** [C-space]
-SCHEDULED: <2014-03-12 Wed>
-:PROPERTIES:
-:ID:       803e2480-4e11-41d0-a261-4f5930a7f9a9
-:DRILL_LAST_INTERVAL: 10.0687
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 2.875
-:DRILL_EASE: 2.397
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:06>
-:END:
+*** C-space]
 bash set mark
-*** [C-delete]
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:ID:       3d0c188b-3cf0-4f0a-83c8-78f6e4040ee5
-:DRILL_LAST_INTERVAL: 24.4352
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:44>
-:END:
+*** C-delete]
    bash delete word
 ** isearch
-*** [C-w]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       f0e2b6e2-809b-40c2-8d72-0f7e35eda9b3
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-:END:
+*** C-w
 paste word/char under cursor into isearch
-*** [M-n/p]                                                           :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       b3692e47-458e-41a0-b2be-c5f61b4eadbd
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:41>
-:END:
+*** M-n/p
 next/previous isearch history
-*** [C-o]                                                             :drill:
-SCHEDULED: <2014-03-11 Tue>
-:PROPERTIES:
-:ID:       8e36b562-7e0c-45e6-a41b-3cd96c134b33
-:DRILL_LAST_INTERVAL: 19.9622
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.5
-:DRILL_EASE: 2.73
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:30>
-:END:
+*** C-o
 isearch-occur
     Activate occur easily inside isearch
-[
     from starter-kit
 #+begin_src emacs-lisp
-  (define-key isearch-mode-map (kbd "C-o")
-    (lambda () (interactive)
-      (let ((case-fold-search isearch-case-fold-search))
-        (occur (if isearch-regexp
-                   isearch-string
-                 (regexp-quote isearch-string))))))
+(define-key isearch-mode-map (kbd "C-o")
+  (lambda () (interactive)
+    (let ((case-fold-search isearch-case-fold-search))
+      (occur (if isearch-regexp
+                 isearch-string
+               (regexp-quote isearch-string))))))
 #+end_src
-]
-*** [m-r]
+*** m-r
 #+begin_src emacs-lisp
-  (defun my-isearch-toggle-regexp ()
-    (interactive)
-    (isearch-toggle-regexp)
-    (cond (isearch-regexp
-           (global-set-key (kbd "C-r") 'isearch-backward-regexp)
-           (define-key global-map (kbd search-key) 'isearch-forward-regexp))
-          (t
-           (global-set-key (kbd "C-r") 'isearch-backward)
-           (define-key global-map (kbd search-key) 'isearch-forward))))
-  (define-key isearch-mode-map (kbd "M-r") 'my-isearch-toggle-regexp)
+(defun my-isearch-toggle-regexp ()
+  (interactive)
+  (isearch-toggle-regexp)
+  (cond (isearch-regexp
+         (global-set-key (kbd "C-r") 'isearch-backward-regexp)
+         (define-key global-map (kbd "<kp-add>") 'isearch-forward-regexp))
+        (t
+         (global-set-key (kbd "C-r") 'isearch-backward)
+         (define-key global-map (kbd "<kp-add>") 'isearch-forward))))
+(define-key isearch-mode-map (kbd "M-r") 'my-isearch-toggle-regexp)
   #+end_src
 
 ** icomplete
 *** C-. C-,
 icomplete-forward/backward-completions
 
-** ido
-*** [C-j]                                                             :drill:
-SCHEDULED: <2014-04-01 Tue>
-:PROPERTIES:
-:ID:       9cc3392d-00a1-4564-8c57-b418a20d9235
-:DRILL_LAST_INTERVAL: 22.6411
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 2.833
-:DRILL_EASE: 2.378
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:34>
-:END:
-ido-find-file create file
-*** [//]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       18ce7d51-93ca-4d41-8e8d-1958cff9c726
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-:END:
-ido goto root
-*** [C-k]                                                             :drill:
-:PROPERTIES:
-:ID:       af4cc865-fe0c-424b-aa5b-2097320d6fb6
-:DRILL_LAST_INTERVAL: 0.0
-:DRILL_REPEATS_SINCE_FAIL: 0
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.083
-:DRILL_EASE: 2.496
-:DRILL_LAST_QUALITY: 2
-:DRILL_LAST_REVIEWED: <2014-04-14 Mon 11:31>
-:END:
-    ido kill buffer/file
-*** [C-d]                                                             :drill:
-SCHEDULED: <2014-04-04 Fri>
-:PROPERTIES:
-:ID:       c93d6e0c-ae33-45aa-9610-ce33cfc406a0
-:DRILL_LAST_INTERVAL: 25.8141
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.0
-:DRILL_EASE: 2.456
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:37>
-:END:
-ido open dired buffer
-*** [M-d]                                                             :drill:
-SCHEDULED: <2014-03-11 Tue>
-:PROPERTIES:
-:ID:       8eab4299-207f-4a4a-a698-38f31cb5ff1b
-:DRILL_LAST_INTERVAL: 1.7651
-:DRILL_REPEATS_SINCE_FAIL: 1
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 6
-:DRILL_AVERAGE_QUALITY: 2.583
-:DRILL_EASE: 2.258
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:38>
-:END:
-ido search within all subdirectories
-*** [M-m]                                                             :drill:
-SCHEDULED: <2014-03-10 Mon>
-:PROPERTIES:
-:ID:       cb7f6420-1f70-4ddb-ad73-83c3b22ef0e2
-:DRILL_LAST_INTERVAL: 7.6174
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 8
-:DRILL_FAILURE_COUNT: 4
-:DRILL_AVERAGE_QUALITY: 2.583
-:DRILL_EASE: 2.257
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:01>
-:END:
-ido create subdirectory
-*** [M-s]                                                             :drill:
-SCHEDULED: <2014-04-01 Tue>
-:PROPERTIES:
-:ID:       eb798918-4dd2-40e1-9d08-82ade145869d
-:DRILL_LAST_INTERVAL: 23.2268
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 4
-:DRILL_AVERAGE_QUALITY: 3.083
-:DRILL_EASE: 2.496
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:34>
-:END:
-ido search recently used directories
-*** [M-n/p]                                                           :drill:
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       db965c9e-feb0-4213-b631-7cfa0208cfdb
-:DRILL_LAST_INTERVAL: 23.0811
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:36>
-:END:
-ido next/previous recently used directory
-*** [C-s]
-**** TODO implement this keybind, normally ctrl-space
-ido use current pattern and start a new one
 ** info
-*** [[]]
-goto next-prev node regardless of structure
-*** [f]
-goto cross reference
-*** [x]
+*** [, ]
+forward / previous node, descend/ascend tree as needed
+*** x
 Info-follow-nearest-node
 #+begin_src emacs-lisp
 (define-key Info-mode-map "x" 'Info-follow-nearest-node)
 #+end_src
 m, f, n, p or ^ command, depending on where you click.
 ** auto-complete
-*** [S-return]                                                        :drill:
-SCHEDULED: <2014-03-11 Tue>
-:PROPERTIES:
-:ID:       b9e47939-8033-4adc-8bf4-734b25f4fc47
-:DRILL_LAST_INTERVAL: 2.0943
-:DRILL_REPEATS_SINCE_FAIL: 1
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 3
-:DRILL_AVERAGE_QUALITY: 2.633
-:DRILL_EASE: 2.282
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:38>
-:END:
-ac-expand, then select next candidates
-*** [C-s]                                                             :drill:
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       828416d4-7ce4-4817-aede-068b80f3041f
-:DRILL_LAST_INTERVAL: 23.0811
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:38>
-:END:
-ac filter completions
+*** S-return
+select next completion candidate
+ac-expand
 ** agenda
-*** [t]                                                               :drill:
-SCHEDULED: <2014-03-22 Sat>
-:PROPERTIES:
-:ID:       173e9cec-e401-4f03-90cc-72cba462b2f2
-:DRILL_LAST_INTERVAL: 31.1381
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:50>
-:END:
+*** t]
 agenda cycle todo state
 ** org
-*** [C-c / t]                                                         :drill:
-SCHEDULED: <2014-03-13 Thu>
-:PROPERTIES:
-:ID:       a5775c4f-c5d3-4024-a280-6628c5e7ab39
-:DRILL_LAST_INTERVAL: 10.7692
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.167
-:DRILL_EASE: 2.537
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-:END:
-show todo items
-*** [S-<tab>]                                                         :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       1c1a4061-5cff-4826-aec2-8f677aab33a9
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:44>
-:END:
+*** C-c / t]
+make just todo items visible
+*** S-<tab>
 org-shifttab global visibility cycle / move table cell
-*** [C-cs]                                                            :drill:
-SCHEDULED: <2014-03-14 Fri>
-:PROPERTIES:
-:ID:       9ba74a38-655c-4f96-8443-b574ee25c544
-:DRILL_LAST_INTERVAL: 5.238
-:DRILL_REPEATS_SINCE_FAIL: 2
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 2.801
-:DRILL_EASE: 2.362
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:33>
-:END:
+*** C-cs]
 schedule todo item
-*** [C-cx p]                                                          :drill:
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:ID:       4b486f48-219d-4517-96c2-83ef839abda5
-:DRILL_LAST_INTERVAL: 24.4352
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:39>
-:END:
+*** C-cx p]
 org set property
-*** [C-c -]                                                           :drill:
-SCHEDULED: <2014-03-24 Mon>
-:PROPERTIES:
-:ID:       60e57e56-d815-4d9b-ba78-2a56164db209
-:DRILL_LAST_INTERVAL: 32.7466
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.0
-:DRILL_EASE: 3.204
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:52>
-:END:
+*** C-c -]
 org insert horizontal line
-*** [C-cq]                                                            :drill:
-SCHEDULED: <2014-03-24 Mon>
-:PROPERTIES:
-:ID:       6987ba15-fbc0-459b-bc27-cf9016baebc3
-:DRILL_LAST_INTERVAL: 32.7466
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.0
-:DRILL_EASE: 3.204
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:50>
-:END:
+*** C-cq]
     org tag
 ** calc
 i'd like to drill these sometime when I have space in my head, or I
@@ -4623,28 +4002,18 @@ plan to use calc.
 [calc edit mode, to edit the top of stack]
 
 ** single/special keys
-:PROPERTIES:
-:ID:       beginning-of-keybind-table-data
-:END:
-*** [tab key]
-:PROPERTIES:
-:CUSTOM_ID: 6c10a716-1d8e-4ce4-8e26-64468f19c17a
-:END:
+*** tab key
 isearch
 #+begin_src emacs-lisp
 (define-key isearch-mode-map (kbd "<tab>") 'isearch-query-replace)
 #+end_src
 *** tab
-    :PROPERTIES:
-    :ID:       d93321a4-6732-421f-9c03-0073c4cbfdcb
-    :CUSTOM_ID: 51ece189-1840-41a1-8ca0-19f9a0481895
-    :END:
 isearch-forward
 #+begin_src emacs-lisp
 ;; explained in http://stackoverflow.com/questions/7411920/how-to-bind-search-and-search-repeat-to-c-f-in-emacs
-(global-set-key (kbd search-key) 'isearch-forward)
+(global-set-key (kbd "<kp-add>") 'isearch-forward)
 (define-key isearch-mode-map "\t" nil)
-(define-key isearch-mode-map (kbd search-key) 'isearch-repeat-forward)
+(define-key isearch-mode-map (kbd "<kp-add>") 'isearch-repeat-forward)
 ;; get rid of the standard completion binding, always use auto-complete
 ;; this didn't work very well
 ;;(global-set-key (kbd "TAB") 'auto-complete)
@@ -4653,10 +4022,6 @@ isearch-forward
 #+end_src
 
 *** end
-    :PROPERTIES:
-    :ID:       7e71b6fe-dcef-4f91-87d9-d996ddf7db5d
-    :CUSTOM_ID: 00d589b7-2b8e-494c-b761-3afefebe6ec6
-    :END:
     move-end-of-line
 #+begin_src emacs-lisp
 ;; taken from emacs wiki, along with home function
@@ -4690,10 +4055,6 @@ isearch-forward
 #+end_src
 
 *** home
-    :PROPERTIES:
-    :ID:       f52de4a4-212c-4133-9038-2b652c739ad2
-    :CUSTOM_ID: 7800e455-c3f6-4a8f-8907-b2292449ab67
-    :END:
 back-to-indentation
 #+begin_src emacs-lisp
   (defun back-to-indentation-or-beginning ()
@@ -4706,20 +4067,12 @@ back-to-indentation
 
 #+end_src
 
-*** [s-tab]
-:PROPERTIES:
-:CUSTOM_ID: 3072901e-5cf3-4d6e-9ac8-3ef64a5f6ad2
-:END:
+*** s-tab
 indent-buffer
-    [
 #+begin_src emacs-lisp
 (global-set-key (kbd "<S-iso-lefttab>") 'indent-buffer)
 #+end_src
-    ]
-*** [s-delete]
-:PROPERTIES:
-:CUSTOM_ID: e53728b6-054d-4443-a03e-6cf02d13724d
-:END:
+*** s-delete
 send-shell
 #+begin_src emacs-lisp
 
@@ -4836,14 +4189,18 @@ modes like org-mode which have their own yank function."
       (send-comint-input buffer-name start end init))))
 
 ;; supporting functions
-
-
 (defun send-comint-input (buffer-name start end &optional init)
   "Input the region to BUFFER-NAME, assuming it is a comint-derived buffer.
                              Show BUFFER-NAME if it is not show.
                              Call INIT if BUFFER-NAME does not exist."
-  (let ((input (filter-buffer-substring start end))
-        (buffer (get-buffer buffer-name)))
+  (let ((input (filter-buffer-substring start end)))
+    (send-comint-string buffer-name input init)))
+
+(defun send-comint-string (buffer-name string &optional init)
+  "Input the string to BUFFER-NAME, assuming it is a comint-derived buffer.
+                             Show BUFFER-NAME if it is not show.
+                             Call INIT if BUFFER-NAME does not exist."
+  (let ((buffer (get-buffer buffer-name)))
     (unless buffer
       (message "nobuffer")
       ;; save-excursion etc. don't work for (shell), so I do this instead
@@ -4856,7 +4213,7 @@ modes like org-mode which have their own yank function."
     (with-current-buffer buffer
       (let ((proc (get-buffer-process buffer)))
         (goto-char (process-mark proc))
-        (insert input)
+        (insert string)
         (comint-send-input nil t)))))
 
 (defun buffer-window-show (&optional buffer action)
@@ -4902,116 +4259,59 @@ modes like org-mode which have their own yank function."
 #+end_src
 
 *** s-left arrow
-:PROPERTIES:
-:CUSTOM_ID: d8c473ac-5507-4a6b-9e5a-46558c17b09f
-:END:
 shell
 #+begin_src emacs-lisp
-(global-set-key (kbd shell-key) 'shell-wrap)
+(global-set-key (kbd "<S-kp-equal>") 'shell-wrap)
 #+end_src
 *** s-right arrow
-:PROPERTIES:
-:CUSTOM_ID: 2365f5a7-b89a-4a97-b272-ac8ae9c2cc66
-:END:
 previous-buffer
 #+begin_src emacs-lisp
 (global-set-key (kbd "<S-kp-divide>") 'previous-buffer)
 #+end_src
 *** esc
-:PROPERTIES:
-:CUSTOM_ID: 60a56803-f38d-4d0a-8ed5-1c94ba97b6f6
-:END:
 *** return
-:PROPERTIES:
-:CUSTOM_ID: fab6adea-ed20-45ab-a0a3-776c68d5c3a5
-:END:
 new line
 
 #+begin_src emacs-lisp
 ;; todo, this doesn't set the keybind for the help minibuffer
-(when (boundp 'icomplete-minibuffer-map)
-  (define-key icomplete-minibuffer-map (kbd "<return>")
-    'minibuffer-force-complete-and-exit))
-
-(add-hook 'ido-setup-hook
-          (lambda()
-            (define-key ido-completion-map (kbd "<return>") 'ido-exit-minibuffer)))
-(define-key minibuffer-local-completion-map (kbd "<return>") 'exit-minibuffer)
 
 
-(define-key isearch-mode-map (kbd "<return>") 'isearch-exit)
-(define-key isearch-mode-map "\r" nil)
+(global-set-key (kbd "\r") 'indent-new-comment-line)
 
-
-(global-set-key (kbd "<return>") 'indent-new-comment-line)
+;; don't use enter for autocomplete, we use tab or something
 (define-key ac-completing-map (kbd "<return>") nil)
 (define-key ac-completing-map "\r" nil)
-(define-key minibuffer-local-map "\r" nil)
-(define-key minibuffer-local-map (kbd "<return>") 'exit-minibuffer)
-(define-key icomplete-minibuffer-map (kbd "C-j") 'exit-minibuffer)
-(define-key minibuffer-local-map (kbd "C-j") 'exit-minibuffer)
-(define-key minibuffer-local-must-match-map (kbd "C-j") 'exit-minibuffer)
-(define-key minibuffer-local-must-match-map "\r" nil)
-(define-key minibuffer-local-must-match-map (kbd "<return>")
-  'minibuffer-complete-and-exit)
-
-(add-hook 'Man-mode-hook
+
+(add-hook 'org-mode-hook
           (lambda ()
-            (define-key Man-mode-map "\r" nil)
-            (define-key Man-mode-map "x" 'man-follow)))
+          ;; copied from org-mode, replace org-enter with org-enter-indent
+(org-defkey org-mode-map "\C-m"     'org-return-indent)))
+
 
 (add-hook 'comint-mode-hook
           (lambda ()
             (define-key comint-mode-map "\r" nil)
             (define-key comint-mode-map (kbd "<return>") 'comint-send-input)))
 
-(add-hook 'org-mode-hook
-          (lambda ()
-            (define-key org-mode-map "\r" nil)
-            (define-key org-mode-map (kbd "<return>") 'org-return-indent)))
-
 (add-hook 'comint-mode-hook
           (lambda ()
             (define-key comint-mode-map "\C-m" nil)
             (define-key comint-mode-map "\C-d" nil)))
-;; use space instead of enter in calc mode,
-;; cuz it is not easy to rebind enter in calc mode
-#+end_src
-
-*** [s-return]                                                        :drill:
-SCHEDULED: <2014-03-10 Mon>
-    :PROPERTIES:
-    auto-correct-prev-word
-    :ID:       db46193b-f202-4927-bc76-2ad74d9f0ed7
-    :CUSTOM_ID: 819cfb55-3a2f-4f20-8591-f819d1a6869a
-    :DRILL_LAST_INTERVAL: 7.9493
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 7
-    :DRILL_FAILURE_COUNT: 4
-    :DRILL_AVERAGE_QUALITY: 2.696
-    :DRILL_EASE: 2.312
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:05>
-    :END:
+
+#+end_src
+
+*** s-return
 auto-correct-prev-word
-    [
     #+begin_src emacs-lisp
     (global-set-key (kbd "<S-return>") 'flyspell-auto-correct-previous-word)
 #+end_src
-]
 
 *** down arrow
-    :PROPERTIES:
-    :CUSTOM_ID: 7a868484-9c63-4a73-abda-7751cb2c02be
-    :END:
 mark
 #+begin_src emacs-lisp
   (global-set-key (kbd "<kp-enter>") 'set-mark-command)
 #+end_src
 *** s-down arrow
-:PROPERTIES:
-:CUSTOM_ID: 097b97e0-8ad8-40f7-8388-c4ace1706b38
-:END:
 extended command
 #+begin_src emacs-lisp
   (global-set-key (kbd "<S-kp-enter>") 'smex)
@@ -5019,269 +4319,75 @@ extended command
 *** s-up arrow
 
 ** mouse
-*** [mouse-2 mode line]                                               :drill:
-SCHEDULED: <2014-03-17 Mon>
-    :PROPERTIES:
-    :ID:       d79167ad-9782-40b3-8e40-55aaa8428dec
-    :CUSTOM_ID: 69aaa631-6fb5-4beb-b2d8-c0f3d92c0a98
-    :DRILL_LAST_INTERVAL: 15.2345
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 7
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 2.893
-    :DRILL_EASE: 2.405
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:06>
-    :END:
-    mouse-delete-other-windows
+*** mouse-2 mode line
+mouse-delete-other-windows
 *** C-mouse-2 mode line
-:PROPERTIES:
-:CUSTOM_ID: 501479ab-e1e2-497e-bd86-071f8afa3378
-:END:
     mouse-split-window-horizontally
 *** M-mouse-2 mode line
-:PROPERTIES:
-:CUSTOM_ID: 8de14d73-499e-406a-b5c4-e295e53d3f4c
-:END:
 *** S-mouse-2 mode line
-:PROPERTIES:
-:CUSTOM_ID: f389cdbb-186a-4cad-af45-b3c75a508275
-:END:
 *** C-M-mouse-2 mode line
-:PROPERTIES:
-:CUSTOM_ID: cb2be69c-f86c-4120-b7f2-1c09b7bcd816
-:END:
 *** C-S-mouse2 mode line
-:PROPERTIES:
-:CUSTOM_ID: 7b4eced3-ce5e-49ce-8bfe-8823e8f5f93e
-:END:
-*** [mouse-3 mode line]                                               :drill:
-SCHEDULED: <2014-03-19 Wed>
-    :PROPERTIES:
-    :ID:       324e43e7-d468-4edc-b892-c1e249ff49fa
-    :CUSTOM_ID: 917a1844-8c38-4f31-8616-50fc81334f2c
-    :DRILL_LAST_INTERVAL: 27.607
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:50>
-    :END:
+*** mouse-3 mode line
     mouse-delete-window
 *** C-mouse-3 mode line
-:PROPERTIES:
-:CUSTOM_ID: b36a218f-6a92-4594-940b-13ffdf79cc9c
-:END:
 *** M-mouse-3 mode line
-:PROPERTIES:
-:CUSTOM_ID: 11c48311-05a4-440e-b742-ec397f22f479
-:END:
 *** S-mouse-3 mode line
-:PROPERTIES:
-:CUSTOM_ID: 03768943-d8cd-4dcb-bc48-393e9a6bb31f
-:END:
 *** C-M-mouse-3 mode line
-:PROPERTIES:
-:CUSTOM_ID: ab213201-bab7-4d30-8f61-fee80e7f2c6f
-:END:
 *** C-S-mouse-3 mode line
-:PROPERTIES:
-:CUSTOM_ID: 0bcac7a3-2943-49b7-b281-d834d374caf9
-:END:
 *** mouse-1
-:PROPERTIES:
-:CUSTOM_ID: 4e60e2e4-8c2f-4450-8060-2d793ede530c
-:END:
     set cursor/mark
-*** [C-mouse-1]                                                       :drill:
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-:CUSTOM_ID: b661f84f-57df-4095-9dc1-d1a876a53ee5
-:ID:       6b82708e-d5de-48cc-8abd-225186eb8729
-:DRILL_LAST_INTERVAL: 24.4352
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 18:03>
-:END:
+*** C-mouse-1
 buffer list context menu
 *** M-mouse-1
-:PROPERTIES:
-:CUSTOM_ID: c71c8a71-7027-44f3-be19-1d3c18ff5129
-:END:
 *** S-mouse-1
-:PROPERTIES:
-:CUSTOM_ID: 84507cd6-8a75-4754-bf9e-5a30f57fa4ac
-:END:
 *** C-M-mouse-1
-:PROPERTIES:
-:CUSTOM_ID: 95eea58e-82b0-48a3-a7c8-0d17c50b7c2e
-:END:
 *** C-S-mouse-1
-:PROPERTIES:
-:CUSTOM_ID: 2d450c06-d9aa-4751-a926-0922c0c3a402
-:END:
 *** mouse-2
-:PROPERTIES:
-:CUSTOM_ID: 086b0b50-054f-462d-92fa-b27852f887b0
-:END:
     paste
 *** C-mouse-2
-:PROPERTIES:
-:CUSTOM_ID: 48b8de22-6638-44da-986f-16e0e69312dd
-:END:
 *** M-mouse-2
-:PROPERTIES:
-:CUSTOM_ID: fb315a27-6351-4ce2-9692-589608793c43
-:END:
 *** S-mouse-2
-:PROPERTIES:
-:CUSTOM_ID: 7cc73036-844b-44d3-afe1-1e76ee626b53
-:END:
 *** C-M-mouse-2
-:PROPERTIES:
-:CUSTOM_ID: 85f35287-5130-47ab-832d-af78dc2a3e70
-:END:
 *** C-S-mouse-2
-:PROPERTIES:
-:CUSTOM_ID: a27ad43f-3be2-4155-9a9f-c144170372ce
-:END:
 *** mouse-3
-:PROPERTIES:
-:CUSTOM_ID: 0481632e-9c50-4328-9365-c4b5bf967b66
-:END:
 set-mark
 #+begin_src emacs-lisp
   (define-key global-map [down-mouse-3] 'mouse3-func)
   (global-set-key [mouse-3]       'mouse3-set-mark)
   (global-set-key [drag-mouse-3]  'mouse3-set-mark)
 #+end_src
-*** [C-mouse-3]                                                       :drill:
-SCHEDULED: <2014-03-13 Thu>
-    :PROPERTIES:
-    :ID:       b075e62c-55c6-46f5-a23a-4c4c5b9f267e
-    :CUSTOM_ID: 9623c78f-7705-4cbe-a990-c24eb1067377
-    :DRILL_LAST_INTERVAL: 22.1939
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:38>
-    :END:
+*** C-mouse-3
     global menu
 *** M-mouse-3
-:PROPERTIES:
-:CUSTOM_ID: fb6f4840-7e44-4c94-b913-f2014fda3325
-:END:
 *** S-mouse-3
-:PROPERTIES:
-:CUSTOM_ID: a6d91332-c731-474c-9959-ddd03e8b2786
-:END:
 *** C-M-mouse-3
-:PROPERTIES:
-:CUSTOM_ID: 6b4d0e4d-1a2c-4e42-a925-e39548c4e264
-:END:
 *** C-S-mouse-3
-:PROPERTIES:
-:CUSTOM_ID: a983a7c5-c17e-4e08-b3e2-a45a44d7a2b6
-:END:
-*** [mouse-9]
-:PROPERTIES:
-:CUSTOM_ID: efaec161-b279-4129-86fd-b410430926e4
-:END:
+*** mouse-9
 move-mouse-to-point
-[
 #+begin_src emacs-lisp
   (global-set-key (kbd "<mouse-6>") 'move-mouse-to-point)
 #+end_src
-]
 *** C-mouse-9
-:PROPERTIES:
-:CUSTOM_ID: e055ae8a-cc94-4e0f-9e98-9cb62453b8d6
-:END:
 *** M-mouse-9
-:PROPERTIES:
-:CUSTOM_ID: 7d1c03a9-b153-47dc-a037-7ee333ca8da9
-:END:
 *** S-mouse-9
-:PROPERTIES:
-:CUSTOM_ID: 8f688d00-8cdb-4163-818c-a0cfba3b1c0a
-:END:
 *** C-M-mouse-9
-:PROPERTIES:
-:CUSTOM_ID: 90ce7df8-2346-4203-8ced-5da51c7c1bfc
-:END:
 *** C-S-mouse-9
-:PROPERTIES:
-:CUSTOM_ID: 0afdad0a-f9c4-4bfa-baa8-cc20d6cab628
-:END:
 *** mouse-8
-:PROPERTIES:
-:CUSTOM_ID: ea9d2415-0fd7-4f83-9867-a7a81899e74b
-:END:
 *** C-mouse-8
-:PROPERTIES:
-:CUSTOM_ID: dc2428d2-412c-4811-8327-3bb70bfa0e76
-:END:
 *** M-mouse-8
-:PROPERTIES:
-:CUSTOM_ID: 530ed41d-6ed6-4bcd-9df7-58ddbfe8b44a
-:END:
 *** S-mouse-8
-:PROPERTIES:
-:CUSTOM_ID: c7d388c3-f4a6-4489-b23a-20ebb7515430
-:END:
 *** C-M-mouse-8
-:PROPERTIES:
-:CUSTOM_ID: fc6ac9e8-fd9a-4270-9cd8-26713d6bc40f
-:END:
 *** C-S-mouse-8
-:PROPERTIES:
-:CUSTOM_ID: 401503ad-3750-4002-a28e-1f1345412bc6
-:END:
 *** 1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: c306a3ef-4b81-4d54-a914-99f312d8f92f
-:END:
 *** C-1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: 11059916-0a48-4f08-b85a-9b82243e4145
-:END:
 *** M-1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: fddd8716-5b16-484e-9d70-358fea201d99
-:END:
 *** S-1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: c6a7978b-a5cf-4ae7-b1d2-57ea72adb487
-:END:
 *** C-M-1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: 376b8b84-ae1b-4bff-b1c8-263049186637
-:END:
 *** C-S-1/kp-end
-:PROPERTIES:
-:CUSTOM_ID: 4e8081cb-5692-4d2e-8657-c6c7931046fd
-:END:
 *** 2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: a1108fd9-0df0-43ac-9dbb-0402d24f5b57
-:END:
 *** C-2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: e9fe4916-14f5-4dc6-8dba-ed982b7172a1
-:END:
 *** M-2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: 50db5a06-452e-491f-875b-3de936a4d04a
-:END:
+smex
 #+begin_src emacs-lisp
 ;; for when we have a standard keyboard which is not remapped
 (global-set-key (kbd "M-2") 'smex)
@@ -5289,302 +4395,91 @@ move-mouse-to-point
 #+end_src
 
 *** S-2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: c3ad691b-0082-46f3-8588-ef2223eab643
-:END:
 *** C-M-2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: 90963055-086b-4d96-8131-d890ff3cb597
-:END:
 *** C-S-2/kp-down
-:PROPERTIES:
-:CUSTOM_ID: 4d13741e-2207-4d2c-a719-e818bb9f3419
-:END:
 *** 3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: b441f9e2-d035-4907-b947-0f3b4d6d062d
-:END:
 *** C-3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: 3ea6ff26-4db4-46c8-b681-e08acd9b6a06
-:END:
 *** M-3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: a376d2fb-999d-48fd-8c9e-36b7661c5ba7
-:END:
 *** S-3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: 50b8356c-7ba5-4e89-b4d6-618f6c571678
-:END:
 *** C-M-3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: cd997379-f611-4d06-91c7-ed6cabb618ee
-:END:
 *** C-S-3/kp-next
-:PROPERTIES:
-:CUSTOM_ID: 1c8941c9-3025-4dff-bcf3-09d8de44f44f
-:END:
 *** 4/kp-left
-    :PROPERTIES:
-    :ID:       bef4fed5-5338-4c66-a759-13dc20ab9bfb
-    :CUSTOM_ID: c44d0f65-9502-4cc6-9642-96d907f6b093
-    :END:
     indent-region
 #+begin_src emacs-lisp
   (global-set-key (kbd "<kp-left>") 'indent-region)
 #+end_src
 *** C-4/kp-left
-:PROPERTIES:
-:CUSTOM_ID: dd0cd32a-1d62-4b19-9d4f-ee242fb7c7b9
-:END:
 *** M-4/kp-left
-:PROPERTIES:
-:CUSTOM_ID: 4f7c3799-28a7-4fc2-85fc-16d768d2047c
-:END:
 *** S-4/kp-left
-:PROPERTIES:
-:CUSTOM_ID: f84a7347-f88a-4888-bf5d-e15b98b5c3a2
-:END:
 *** C-M-4/kp-left
-:PROPERTIES:
-:CUSTOM_ID: 74a1afca-bd24-469b-93e9-7a9681a9e467
-:END:
 *** C-S-4/kp-left
-:PROPERTIES:
-:CUSTOM_ID: 6c822a4a-0e64-430b-8d21-46b387911f2f
-:END:
 *** 5/kp-begin
-    :PROPERTIES:
-    :ID:       0e93f6a0-3d6f-45b1-b14e-10abbdfa3ee4
-    :CUSTOM_ID: 2458c6bc-7113-4d4b-bbdf-206e1cb842a7
-    :END:
     mark-defun
 #+begin_src emacs-lisp
   (global-set-key (kbd "<kp-begin>") 'mark-defun)
 #+end_src
 *** C-5/kp-begin
-:PROPERTIES:
-:CUSTOM_ID: 39588066-77b8-4863-be0d-0f1fad8f0e2a
-:END:
 *** M-5/kp-begin
-:PROPERTIES:
-:CUSTOM_ID: b3542b42-9d71-4a3f-92b1-f79f275bcf52
-:END:
 *** S-5/kp-begin
-:PROPERTIES:
-:CUSTOM_ID: 66aed3e7-d7bb-4393-a95b-b90b3a410684
-:END:
 *** C-M-5/kp-begin
-:PROPERTIES:
-:CUSTOM_ID: 1060d464-eed3-4a17-a5c4-d8e8941f6925
-:END:
 *** C-S-5/kp-begin
-:PROPERTIES:
-:CUSTOM_ID: efd7867a-a87f-43ef-a849-0e4029431d7f
-:END:
 *** 6/kp-right
-    :PROPERTIES:
-    :ID:       d156225a-b48e-45e2-80a7-ea1a7dbbc794
-    :CUSTOM_ID: 3b79bc58-6067-43bd-9471-9d592744a25a
-    :END:
     ibuffer
 #+begin_src emacs-lisp
   (global-set-key (kbd "<kp-right>") 'ibuffer)
 #+end_src
 *** C-6/kp-right
-:PROPERTIES:
-:CUSTOM_ID: 5592b3d3-7ade-4486-ac94-aed0aa3d78f5
-:END:
 *** M-6/kp-right
-:PROPERTIES:
-:CUSTOM_ID: c76bedd9-90a7-41fe-9327-607f88f60a3a
-:END:
 *** S-6/kp-right
-:PROPERTIES:
-:CUSTOM_ID: 8bbda9a2-7909-44fb-af24-a86dbbd5d16f
-:END:
 *** C-M-6/kp-right
-:PROPERTIES:
-:CUSTOM_ID: 7c5838f6-5cc9-4bbc-bd07-403cc009cf35
-:END:
 *** C-S-6/kp-right
-:PROPERTIES:
-:CUSTOM_ID: c6f2edc9-ffd3-400f-8014-bb92ea6e520b
-:END:
 *** 7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: c98ba390-f2e3-4c14-8d41-142b54e76d77
-:END:
 *** C-7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: 5597d00f-4a89-4af2-aac1-98808763744c
-:END:
 *** M-7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: 5cbafd0e-0c8f-4e14-a24e-f847c341e5c1
-:END:
 *** S-7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: 92f7d836-ae32-4bba-9120-72e747feb832
-:END:
 *** C-M-7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: 30170d01-412e-4098-b27e-ed9294d8cf92
-:END:
 *** C-S-7/kp-home
-:PROPERTIES:
-:CUSTOM_ID: 81300d39-e60e-4b09-865e-584153f3b827
-:END:
 *** 8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: 0591db2b-6c5c-4438-9451-dcd686170c9d
-:END:
 *** C-8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: 028ad953-1641-4f0c-83c2-72787310e447
-:END:
 *** M-8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: 7c55f717-1093-48a7-b764-8f788540a4d7
-:END:
 *** S-8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: f477fa15-3f04-48f6-a66a-4ba6eb0475f1
-:END:
 *** C-M-8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: f280c9ab-49a8-4399-987b-bfde07c339be
-:END:
 *** C-S-8/kp-up
-:PROPERTIES:
-:CUSTOM_ID: 68a316aa-a05d-4ab0-87e4-88e8f2613795
-:END:
 *** 9/kp-prior
-    :PROPERTIES:
-    :ID:       f3c60889-d948-4144-b5b0-04aeeec95309
-    :CUSTOM_ID: a3b51adb-4405-4d9f-9b88-a8faa479fbe7
-    :END:
     delete-horizontal-space
 #+begin_src emacs-lisp
   (global-set-key (kbd "<kp-prior>") 'delete-horizontal-space)
 #+end_src
 *** C-9/kp-prior
-:PROPERTIES:
-:CUSTOM_ID: 2683f49c-a465-42d0-b85b-6aa345ac2213
-:END:
 *** M-9/kp-prior
-:PROPERTIES:
-:CUSTOM_ID: 91b0ee09-9eba-4b60-b05f-720eaca53065
-:END:
 *** S-9/kp-prior
-:PROPERTIES:
-:CUSTOM_ID: b79e626c-4425-409f-92ce-b88335629c34
-:END:
 *** C-M-9/kp-prior
-:PROPERTIES:
-:CUSTOM_ID: 4838285f-905b-4e18-8605-ff24a20ce9e1
-:END:
 *** C-S-9/kp-prior
-:PROPERTIES:
-:CUSTOM_ID: 763edfac-da7d-4360-a383-6a7f42cc2e02
-:END:
 *** 10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: 57e1a794-26f8-4fb6-b753-ef1ad1ff0af9
-:END:
 *** C-10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: 32426751-f87b-4fd5-b435-914ac8f54e5f
-:END:
 *** M-10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: 1b83659c-61dc-425f-bead-fc2a0d198dde
-:END:
 *** S-10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: d2f07180-2d20-4633-9c79-78f4d992f7a6
-:END:
 *** C-M-10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: 1f6eabdc-703c-4a05-829c-553ccf7d082d
-:END:
 *** C-S-10/kp-insert
-:PROPERTIES:
-:CUSTOM_ID: bb361418-370f-4b15-b7e1-8e85c7a6f032
-:END:
 *** 11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: 0f84dddc-a1d2-428d-8c17-cf9ddbd24784
-:END:
 *** C-11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: 4c3309ee-eb67-43ff-bc4a-44574b1c5e0f
-:END:
 *** M-11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: e95a2822-5f0d-4b32-a17f-15d4650e086f
-:END:
 *** S-11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: 667a9853-38c6-4bb2-8c01-6a30075929b4
-:END:
 *** C-M-11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: d5b17698-9bfe-4bd7-af26-b5dd51684e7d
-:END:
 *** C-S-11/kp-subtract
-:PROPERTIES:
-:CUSTOM_ID: cfde57be-a728-4955-8b96-9ae5aa1cce01
-:END:
 *** 12/kp-add
-:PROPERTIES:
-:CUSTOM_ID: 5e7a0116-a847-4fec-81ed-a0286bb08ac5
-:END:
 *** C-12/kp-add
-:PROPERTIES:
-:CUSTOM_ID: 41dcdb69-8436-495b-9e55-a0cd623ac5aa
-:END:
 *** M-12/kp-add
-:PROPERTIES:
-:CUSTOM_ID: ebda57a2-cab3-4fed-b3b0-014a7e60c96f
-:END:
 *** S-12/kp-add
-:PROPERTIES:
-:CUSTOM_ID: 7e4c6085-cfbe-4c05-9edb-2aec2325f7b9
-:END:
 *** C-M-12/kp-add
-:PROPERTIES:
-:CUSTOM_ID: 7904cafb-7371-4bc9-a661-262d78f8f9b8
-:END:
 *** C-S-12/kp-add
-    :PROPERTIES:
-    :CUSTOM_ID: dcf498f0-5bcf-4402-bce0-561c11effb38
-    :END:
 *** scroll
-:PROPERTIES:
-:CUSTOM_ID: 33433f0f-5b0e-46ba-8452-d2a51e54769b
-:END:
     up/dn / scroll
 on standard mouse, this scrolls,
 because we have the accuracy to pick things up and
 down easier, and because it is familiar.
-*** [C-scroll]                                                        :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    cycle recent buffers
-    :ID:       678b14e8-e991-46da-84a0-50d142ecbbba
-    :CUSTOM_ID: 16506ba5-e8f2-4aec-bc1b-d2854d4e504c
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:36>
-    :END:
+*** C-scroll
 cursor up/down fast
-    [
 #+begin_src emacs-lisp
 ;; compiling warns that next-line should be called interactively,
 ;; but we would have to do something dumb, like give it a
@@ -5604,36 +4499,15 @@ cursor up/down fast
             (define-key comint-mode-map (kbd "<C-mouse-4>") 'comint-previous-prompt)
             (define-key comint-mode-map (kbd "<C-mouse-5>") 'comint-next-prompt)))
 #+end_src
-]
 
-*** [M-scroll]
-:PROPERTIES:
-:CUSTOM_ID: e1e2e253-450d-4620-af9e-78d378f49ad5
-:END:
+*** M-scroll
 forward/back s-exp
-[
 #+begin_src emacs-lisp
   (global-set-key (kbd "<M-mouse-4>") 'backward-sexp)
   (global-set-key (kbd "<M-mouse-5>") 'forward-sexp)
 #+end_src
-]
-*** [S-scroll]                                                        :drill:
-SCHEDULED: <2014-03-22 Sat>
-    :PROPERTIES:
-    expand region
-    :ID:       c2da442e-b8c0-4b8a-899f-989af89bd857
-    :CUSTOM_ID: 74b2196a-345d-453a-b7be-1915360eb201
-    :DRILL_LAST_INTERVAL: 27.0855
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.4
-    :DRILL_EASE: 2.666
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 02:26>
-    :END:
+*** S-scroll
 expand/contract region
-    [
 #+begin_src emacs-lisp
 (global-set-key (kbd "<S-mouse-13>") 'my-contract-region)
 (global-set-key (kbd "<S-mouse-14>") 'er/expand-region)
@@ -5647,24 +4521,8 @@ expand/contract region
   (let ((current-prefix-arg '-))
     (call-interactively 'er/expand-region)))
 #+end_src
-    ]
-*** [C-M-scroll]                                                      :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    scroll
-    :ID:       b94d89ed-5a06-4916-b5f5-e0bf1a552362
-    :CUSTOM_ID: bd2ca117-408c-49fc-a5ac-a938be21dfc0
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-    :END:
+*** C-M-scroll
 scroll
-    [
 background: I originally tried to make c-scroll be scroll
 , but this made
 for better compatibility with the standard mouse
@@ -5676,24 +4534,8 @@ for better compatibility with the standard mouse
  ; (global-set-key (kbd "<C-M-mouse-4>") 'scroll-up-1)
   ;(global-set-key (kbd "<C-M-mouse-5>") 'scroll-down-1)
 #+end_src
-]
-*** [C-S-scroll]                                                      :drill:
-SCHEDULED: <2014-03-18 Tue>
-    :PROPERTIES:
-    zoom
-    :ID:       368f60cb-91e5-4694-b342-e0049e5d3e2c
-    :CUSTOM_ID: a69254a4-cf2d-450f-b477-2694b44a7e0d
-    :DRILL_LAST_INTERVAL: 9.2113
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 7
-    :DRILL_FAILURE_COUNT: 3
-    :DRILL_AVERAGE_QUALITY: 2.943
-    :DRILL_EASE: 2.429
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:34>
-    :END:
+*** C-S-scroll
 increase / decrease text size
-    [
 #+begin_src emacs-lisp
 (global-set-key (kbd "<C-S-mouse-4>") 'text-scale-increase)
 (global-set-key (kbd "<C-S-mouse-5>") 'text-scale-decrease)
@@ -5702,77 +4544,30 @@ increase / decrease text size
 (global-set-key (kbd "<C-S-down>") 'text-scale-increase)
 (global-set-key (kbd "<C-S-up>") 'text-scale-decrease)
 #+end_src
-]
 *** left-scroll
-:PROPERTIES:
-:CUSTOM_ID: d2d5c5c7-f0de-4e08-953b-d41d3e282ba7
-:END:
 left/right
-*** [C-left-scroll]                                                   :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    :CUSTOM_ID: 7bb95aa5-381e-454a-a6c6-aaeec728db08
-    :ID:       04bdffa0-52fe-4d90-a222-a6e41d75b13b
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:35>
-    :END:
+*** C-left-scroll
 back / forward word
 #+begin_src emacs-lisp
   (global-set-key (kbd "<C-left>") 'backward-symbol)
   (global-set-key (kbd "<C-right>") 'forward-symbol)
   #+end_src
-*** [M-left-scroll]                                                   :drill:
-    :PROPERTIES:
-    winner undo redo
-    :CUSTOM_ID: 49db3764-b154-4cfc-8d0d-f0e0451815e3
-    :ID:       97ef29fd-aea5-49ce-aff2-7a8c8d1b3d5d
-    :DRILL_LAST_INTERVAL: 0.0
-    :DRILL_REPEATS_SINCE_FAIL: 0
-    :DRILL_TOTAL_REPEATS: 9
-    :DRILL_FAILURE_COUNT: 10
-    :DRILL_AVERAGE_QUALITY: 2.518
-    :DRILL_EASE: 2.225
-    :DRILL_LAST_QUALITY: 2
-    :DRILL_LAST_REVIEWED: <2014-04-14 Mon 11:30>
-    :END:
-
+*** M-left-scroll
+---
+unreachable
 *** S-left-scroll
-:PROPERTIES:
-:CUSTOM_ID: ca5cdcd4-b3da-4d7b-86ab-4c7c0ac2caf7
-:END:
 ---
-    unreachable
+unreachable
 *** C-M-left-scroll
+---
 unreachable
 *** C-S-left-scroll
-:PROPERTIES:
-:CUSTOM_ID: 7b4f1f49-6d93-4210-a30c-8278d6e63655
-:ID:       b6ea3b66-d9a6-4a33-ae1c-0464d118f006
-:END:
+---
 unreachable
 ** left primary
-*** [C-2]                                                             :drill:
-SCHEDULED: <2014-04-04 Fri>
-    :PROPERTIES:
-    :ID:       845cf47f-22d5-4100-837d-fbc066e33c9c
-    :CUSTOM_ID: 4f29b011-3844-4a4a-b75d-cdf8f49e9adb
-    :DRILL_LAST_INTERVAL: 26.3927
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 6
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.25
-    :DRILL_EASE: 2.58
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-    :END:
-narrow-to-defun/subtree
-[
+
+*** C-2
+copy-symbol
 #+begin_src emacs-lisp
 (global-unset-key (kbd "C-2"))
 (defun copy-symbol (&optional arg)
@@ -5781,326 +4576,123 @@ narrow-to-defun/subtree
   (kill-new (thing-at-point 'symbol)))
 
 (global-set-key (kbd "C-2") 'copy-symbol)
-
-(global-set-key (kbd "C-4") 'narrow-to-defun)
-(add-hook 'org-mode-hook
-          (lambda () (local-set-key (kbd "C-4") 'org-narrow-to-subtree)))
 #+end_src
-]
 *** M-2
-:PROPERTIES:
-:CUSTOM_ID: 53ecfda2-d9f6-4882-b7a2-9b3c859e3bcb
-:END:
-*** [C-M-2]
-:PROPERTIES:
-:CUSTOM_ID: 33c4996d-92bc-4df0-b005-11553677be13
-:END:
+shell-cd-to-file
+#+begin_src emacs-lisp
+
+(defun shell-cd-to-file ()
+  (interactive)
+  (let ((file (buffer-file-name)))
+    (if file
+        (send-comint-string "*shell*"
+                            (concat "c " (file-name-directory file))
+                            'shell)
+      (message "%s" "shell-cd-to-file: buffer has no file name"))))
+(global-set-key (kbd "M-2") 'shell-cd-to-file)
+#+end_src
+*** C-M-2
 ---
-[
 #+begin_src emacs-lisp
   (global-unset-key (kbd "C-M-2"))
 #+end_src
-]
 *** C-S-2
-:PROPERTIES:
-:CUSTOM_ID: 43af8e87-216d-47f7-9779-48ef66c7ca5f
-:END:
-*** [C-3]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    :ID:       9495ba60-017a-49b0-b0b6-366c3334e909
-    :CUSTOM_ID: 7851a05e-7177-4a8f-af5a-3325a8f116fe
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:41>
-    :END:
-    dot-mode-execute
-    [
+*** C-3
+dot-mode-execute
 #+begin_src emacs-lisp
-  (global-set-key (kbd "C-3") 'dot-mode-execute)
+(global-set-key (kbd "C-3") 'dot-mode-execute)
  #+end_src
-    ]
 *** M-3
-:PROPERTIES:
-:CUSTOM_ID: ddceb843-06db-4078-914f-da225cac107e
-:END:
-*** [C-M-3]                                                           :drill:
-SCHEDULED: <2014-03-11 Tue>
-    :PROPERTIES:
-    :CUSTOM_ID: 9a00e17f-a1c9-48fc-b03b-c6a1a3cbda1c
-    :ID:       75be5945-8bc4-4041-a44f-de2d9af66f4f
-    :DRILL_LAST_INTERVAL: 19.6736
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.4
-    :DRILL_EASE: 2.666
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:48>
-    :END:
+*** C-M-3
     recenter-top-bottom
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-M-3") 'recenter-top-bottom)
+(global-set-key (kbd "C-M-3") 'recenter-top-bottom)
 #+end_src
-    ]
 *** C-S-3
-:PROPERTIES:
-:CUSTOM_ID: 224cf9b0-2e12-4cc7-a7e1-746784c87777
-:END:
-*** [C-q]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    :ID:       e7f30a61-8557-4b7e-898c-96db9d649f39
-    :CUSTOM_ID: 679fd3cd-c43b-409c-be36-4175a5f27cd3
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:42>
-    :END:
-    org-cycle, comint previous arg
-    [
+*** C-q
+org-cycle, comint previous arg
 #+begin_src emacs-lisp
-  (add-hook 'org-mode-hook
-            (lambda () (define-key org-mode-map (kbd "C-q") 'org-cycle)))
-  (define-key widget-keymap (kbd "C-q") 'widget-forward)
-  (add-hook 'comint-mode-hook
-            (lambda () (define-key comint-mode-map (kbd "C-q") 'comint-insert-previous-argument)))
-#+end_src
-    ]
-*** [M-q]                                                             :drill:
-SCHEDULED: <2014-03-19 Wed>
-:PROPERTIES:
-org-archive-to-archive-sibling
-:CUSTOM_ID: 72bada0e-5d62-4a8f-ae62-4972778ff1bc
-:ID:       4c8104f4-9251-4915-b076-6989c7cce3be
-:DRILL_LAST_INTERVAL: 10.3717
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 8
-:DRILL_FAILURE_COUNT: 6
-:DRILL_AVERAGE_QUALITY: 2.6
-:DRILL_EASE: 2.266
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:35>
-:END:
+(add-hook 'org-mode-hook
+          (lambda () (define-key org-mode-map (kbd "C-q") 'org-cycle)))
+(define-key widget-keymap (kbd "C-q") 'widget-forward)
+(add-hook 'comint-mode-hook
+          (lambda () (define-key comint-mode-map (kbd "C-q") 'comint-insert-previous-argument)))
+#+end_src
+*** M-q
 org-archive-to-archive-sibling
-[
 #+begin_src emacs-lisp
 (global-set-key (kbd "M-q") 'org-archive-to-archive-sibling)
 #+end_src
-]
-
-*** [C-M-q]                                                           :drill:
-SCHEDULED: <2014-03-12 Wed>
-:PROPERTIES:
-:ID:       ab67e1da-41dd-40bd-96c1-556cafc6b630
-:DRILL_LAST_INTERVAL: 9.9427
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 6
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.104
-:DRILL_EASE: 2.506
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 20:57>
-:CUSTOM_ID: 1f5e9b63-7ce0-445c-a426-b41839585d38
-:END:
+*** C-M-q
 quoted-insert
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-q") 'quoted-insert)
 #+end_src
-    ]
 *** C-S-q
-:PROPERTIES:
-:CUSTOM_ID: c16f1753-126b-499b-af0e-669129ccd3ea
-:END:
-*** [C-w]
-:PROPERTIES:
-:CUSTOM_ID: 20005b6d-9a9d-4b58-882c-7ce860c7a395
-:END:
+*** C-w
 goto-t.org
-    [
-#+begin_src emacs-lisp
-    (global-set-key (kbd "C-w") (lambda () (interactive) (goto-buffer-or-find-file "/a/t.org")))
-#+end_src
-]
-*** [M-w]                                                             :drill:
-SCHEDULED: <2014-03-18 Tue>
-    :PROPERTIES:
-    org-clock-in
-    :ID:       c271d82d-e40a-43c3-9c16-753633c1fc14
-    :CUSTOM_ID: 331da6e5-7936-4663-8f58-9d8601b5915c
-    :DRILL_LAST_INTERVAL: 41.7787
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.667
-    :DRILL_EASE: 4.583
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:36>
-    :END:
+#+begin_src emacs-lisp
+(global-set-key (kbd "C-w") (lambda () (interactive) (goto-buffer-or-find-file "/a/t.org")))
+#+end_src
+*** M-w
 org-clock-in
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "M-w") 'org-clock-in)
+(global-set-key (kbd "M-w") 'org-clock-in)
 #+end_src
-    ]
 *** C-M-w
-:PROPERTIES:
-:CUSTOM_ID: cede4936-de2f-404f-a0e6-264f08215a7c
-:END:
 *** C-S-w
-:PROPERTIES:
-:CUSTOM_ID: 3465b986-717a-43b4-910f-3d187789c027
-:END:
-*** [C-e]
+*** C-e
 copy-line
-    [
 #+begin_src emacs-lisp
-; todo, make repeated calls to this append the kills
-  (defun copy-line (&optional arg)
-    "Copy lines (as many as prefix argument) in the kill ring.
+;; todo, make repeated calls to this append the kills
+(defun copy-line (&optional arg)
+  "Copy lines (as many as prefix argument) in the kill ring.
         Ease of use features:
         - Move to start of next line.
         - Appends the copy on sequential calls.
         - Use newline as last char even on the last line of the buffer.
         - If region is active, copy its lines."
-    (interactive "p")
-    (let ((beg (line-beginning-position))
-          (end (line-end-position (or arg 1))))
-      (when mark-active
-        (if (> (point) (mark))
-            (setq beg (save-excursion (goto-char (mark)) (line-beginning-position)))
-          (setq end (save-excursion (goto-char (mark)) (line-end-position)))))
-      (if (eq last-command 'copy-line)
-          (kill-append (buffer-substring beg end) (< end beg))
-        (kill-ring-save beg end)))
-    (kill-append "\n" nil)
-    ;; dun need cuz I have yank-better
-    ;;(beginning-of-line (or (and arg (1+ arg)) 2))
-    (if (and arg (not (= 1 arg))) (message "%d lines copied" arg)))
-
-  (global-set-key (kbd "C-e") 'copy-line)
-#+end_src
-    :PROPERTIES:
-    :ID:       4ff8e0ad-15c0-4cb0-b6cc-314e7b5f80c0
-    :CUSTOM_ID: 24e34f4b-d1e8-4380-933f-ab1f78ebc782
-    :DRILL_LAST_INTERVAL: 2.4849
-    :DRILL_REPEATS_SINCE_FAIL: 1
-    :DRILL_TOTAL_REPEATS: 1
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-01-11 Sat 01:30>
-    :END:
-    ]
-*** [M-e]                                                             :drill:
-SCHEDULED: <2014-04-01 Tue>
-    :PROPERTIES:
-    org-clock-in-last
-    :ID:       39424175-21e2-4126-9a51-dea451497841
-    :CUSTOM_ID: 0a771449-0cd5-4dc9-82ca-bcac5f7abd17
-    :DRILL_LAST_INTERVAL: 36.7949
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:48>
-    :END:
+  (interactive "p")
+  (let ((beg (line-beginning-position))
+        (end (line-end-position (or arg 1))))
+    (when mark-active
+      (if (> (point) (mark))
+          (setq beg (save-excursion (goto-char (mark)) (line-beginning-position)))
+        (setq end (save-excursion (goto-char (mark)) (line-end-position)))))
+    (if (eq last-command 'copy-line)
+        (kill-append (buffer-substring beg end) (< end beg))
+      (kill-ring-save beg end)))
+  (kill-append "\n" nil)
+  ;; dun need cuz I have yank-better
+  ;;(beginning-of-line (or (and arg (1+ arg)) 2))
+  (if (and arg (not (= 1 arg))) (message "%d lines copied" arg)))
+
+(global-set-key (kbd "C-e") 'copy-line)
+#+end_src
+*** M-e
 org-clock-in-last
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "M-e") 'org-clock-in-last)
+(global-set-key (kbd "M-e") 'org-clock-in-last)
   #+end_src
-    ]
 *** C-M-e
-:PROPERTIES:
-:CUSTOM_ID: 4a7a4324-e03d-43dc-8e9c-9622788519fb
-:END:
 *** C-S-e
-:PROPERTIES:
-:CUSTOM_ID: e202e1d5-b7ac-4171-b86a-b77592344f30
-:END:
-*** [C-r]                                                             :drill:
-SCHEDULED: <2014-04-07 Mon>
-    :PROPERTIES:
-    isearch-backward
-    :ID:       39bcde9c-2b49-401e-9e81-ee42941233bf
-    :CUSTOM_ID: 5c55f461-f43f-493d-81eb-1ca747175ef1
-    :DRILL_LAST_INTERVAL: 42.8284
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.5
-    :DRILL_EASE: 4.122
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:51>
-    :END:
+*** C-r
 isearch-backward
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-r") 'isearch-backward)
+(global-set-key (kbd "C-r") 'isearch-backward)
 (add-hook 'comint-mode-hook
-            (lambda ()
-              (define-key comint-mode-map (kbd "C-r") 'comint-history-isearch-backward-regexp)))
-
-#+end_src
-    ]
-*** [M-r]                                                             :drill:
-SCHEDULED: <2014-04-30 Wed>
-    :PROPERTIES:
-    org-clock-out
-    :ID:       dc2c7192-6cfb-4c06-bd17-ff2cef3b05a6
-    :CUSTOM_ID: dd9575bd-e471-418e-9519-4fc2b874ddcd
-    :DRILL_LAST_INTERVAL: 59.1432
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.25
-    :DRILL_EASE: 3.59
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
+          (lambda ()
+            (define-key comint-mode-map (kbd "C-r") 'comint-history-isearch-backward-regexp)))
+#+end_src
+*** M-r
 org-clock-out
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "M-r") 'org-clock-out)
+(global-set-key (kbd "M-r") 'org-clock-out)
 #+end_src
-    ]
 *** C-M-r
 *** C-S-r
-:PROPERTIES:
-:CUSTOM_ID: 05e2290b-0d2c-407c-9bf0-adc7a008336b
-:END:
-*** [C-a]                                                             :drill:
-SCHEDULED: <2014-03-15 Sat>
-    :PROPERTIES:
-    copy-all
-    :CUSTOM_ID: db4b76df-9420-4256-8242-dc44b56d55d7
-    :ID:       f6b2b504-b88d-418b-b6b0-5e0e582bd205
-    :DRILL_LAST_INTERVAL: 24.4352
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.929
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:39>
-    :END:
+*** C-a
 copy buffer
-    [
     #+begin_src emacs-lisp
 (defun copy-all ()
     "Copy entire buffer to clipboard"
@@ -6108,177 +4700,68 @@ copy buffer
     (clipboard-kill-ring-save (point-min) (point-max)))
 (global-set-key (kbd "C-a") 'copy-all)
     #+end_src
-]
-*** [M-a]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    kmacro-start-macro-or-in...
-    :ID:       4019514b-abb1-464e-b4c9-d9ca39af2a82
-    :CUSTOM_ID: e865a1e5-55bf-4a98-a0d0-cb05a88de352
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-    :END:
+*** M-a
 macro record
-    [
-#+begin_src emacs-lisp
-    (global-set-key (kbd "M-a") 'kmacro-start-macro-or-insert-counter)
-
-#+end_src
-    ]
-*** [C-M-a]                                                           :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    kmacro-end-or-call-macro
-    :ID:       10cdc522-2bea-4601-acf9-ec81a52a34d8
-    :CUSTOM_ID: c6278a5a-024f-4c80-a8d4-65f127fd24a8
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:35>
-    :END:
+#+begin_src emacs-lisp
+(global-set-key (kbd "M-a") 'kmacro-start-macro-or-insert-counter)
+#+end_src
+*** C-M-a
 macro end / call
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-M-a") 'kmacro-end-or-call-macro)
+(global-set-key (kbd "C-M-a") 'kmacro-end-or-call-macro)
+(add-hook 'perl-mode-hook (lambda () (define-key perl-mode-map (kbd "C-M-a") nil)))
 (add-hook 'LaTeX-mode-hook (lambda () (define-key LaTeX-mode-map (kbd "C-M-a") nil)))
 (add-hook 'c-mode-hook
           (lambda () (define-key c-mode-map (kbd "C-M-a") nil)))
 
 #+end_src
-    ]
 *** C-S-a
-:PROPERTIES:
-:CUSTOM_ID: 649a3fe7-3932-475a-b23c-28db9874de27
-:END:
 *** C-s
-    :PROPERTIES:
-    C-x prefix
-    :ID:       e05a67d7-f7ee-4b23-afb1-0053d5eefb4c
-    :CUSTOM_ID: 01da04da-cdba-493f-892b-c4c064cf937e
-    :END:
 c-x prefix
 
 *** M-s
-:PROPERTIES:
-:CUSTOM_ID: 5e4bf939-90a1-4ace-a7bf-add95c8596d2
-:END:
-*** [C-M-s]                                                           :drill:
-SCHEDULED: <2014-03-18 Tue>
-    :PROPERTIES:
-    split-window-vertically
-    :ID:       18a271e1-c1d2-45e6-aed3-6b81b4b6ea71
-    :CUSTOM_ID: 4b33022d-27f0-4d21-9931-2e2e692790e8
-    :DRILL_LAST_INTERVAL: 26.5334
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.929
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:46>
-    :END:
+*** C-M-s
 split-window-vertically
-    [
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-M-s") 'split-window-vertically)
+(global-set-key (kbd "C-M-s") 'split-window-vertically)
 #+end_src
-    ]
 *** C-S-s
-:PROPERTIES:
-:CUSTOM_ID: 901a2445-200c-42f2-91c6-4309d71b39dd
-:END:
 *** C-d
-:PROPERTIES:
-:CUSTOM_ID: b699614a-9994-4fe7-b2c6-f0fe81b7ad2b
-:END:
     C-c prefix
-*** [M-d]                                                             :drill:
-SCHEDULED: <2014-04-05 Sat>
-    :PROPERTIES:
-    whitespace-cleanup
-    :ID:       58f5421a-9df0-44cd-acb9-d018ccdba58c
-    :CUSTOM_ID: 06bcc5e2-f3a7-41c6-a793-ac6c9813fb6e
-    :DRILL_LAST_INTERVAL: 27.3693
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 6
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.417
-    :DRILL_EASE: 2.676
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-    :END:
-whitespace-cleanup
-    [
-#+begin_src emacs-lisp
-    (global-set-key (kbd "M-d") 'whitespace-cleanup)
-#+end_src
-    ]
-*** [C-M-d]                                                           :drill:
-SCHEDULED: <2014-03-19 Wed>
-:PROPERTIES:
-swap buffer
-:CUSTOM_ID: 8cf6053d-792b-4abd-a3a6-66efd7fbee68
-:ID:       747aabec-b164-4813-93c8-92d5c8778635
-:DRILL_LAST_INTERVAL: 9.5325
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 10
-:DRILL_FAILURE_COUNT: 8
-:DRILL_AVERAGE_QUALITY: 2.636
-:DRILL_EASE: 2.284
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:35>
-:END:
+*** M-d
+*** C-M-d
 swap buffer across windows
-[
 from http://www.emacswiki.org/emacs/TransposeWindows
 #+begin_src emacs-lisp
- (setq swapping-buffer nil)
- (setq swapping-window nil)
-  (defun swap-buffers-in-windows ()
-   "Swap buffers between two windows"
-   (interactive)
-   (if (and swapping-window
-            swapping-buffer)
-       (let ((this-buffer (current-buffer))
-             (this-window (selected-window)))
-         (if (and (window-live-p swapping-window)
-                  (buffer-live-p swapping-buffer))
-             (progn (switch-to-buffer swapping-buffer)
-                    (select-window swapping-window)
-                    (switch-to-buffer this-buffer)
-                    (select-window this-window)
-                    (message "Swapped buffers."))
-           (message "Old buffer/window killed.  Aborting."))
-         (setq swapping-buffer nil)
-         (setq swapping-window nil))
-     (progn
-       (setq swapping-buffer (current-buffer))
-       (setq swapping-window (selected-window))
-       (message "Buffer and window marked for swapping."))))
-
- (global-set-key (kbd "C-M-d") 'swap-buffers-in-windows)
-#+end_src
-]
+(setq swapping-buffer nil)
+(setq swapping-window nil)
+(defun swap-buffers-in-windows ()
+  "Swap buffers between two windows"
+  (interactive)
+  (if (and swapping-window
+           swapping-buffer)
+      (let ((this-buffer (current-buffer))
+            (this-window (selected-window)))
+        (if (and (window-live-p swapping-window)
+                 (buffer-live-p swapping-buffer))
+            (progn (switch-to-buffer swapping-buffer)
+                   (select-window swapping-window)
+                   (switch-to-buffer this-buffer)
+                   (select-window this-window)
+                   (message "Swapped buffers."))
+          (message "Old buffer/window killed.  Aborting."))
+        (setq swapping-buffer nil)
+        (setq swapping-window nil))
+    (progn
+      (setq swapping-buffer (current-buffer))
+      (setq swapping-window (selected-window))
+      (message "Buffer and window marked for swapping."))))
+
+(global-set-key (kbd "C-M-d") 'swap-buffers-in-windows)
+#+end_src
 *** C-S-d
-:PROPERTIES:
-:CUSTOM_ID: d3166178-3d87-4caa-a937-9797fc2b6a39
-:END:
-*** [C-f]
-:PROPERTIES:
-:CUSTOM_ID: 2695ed8a-e0d3-4e84-8688-98e3c50723b0
-:END:
+*** C-f]
 kill-whole-line
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-f") 'kill-whole-line-wrapper)
   (defun kill-whole-line-wrapper (&optional arg)
@@ -6288,17 +4771,20 @@ kill-whole-line
         (kill-whole-line -1)
       (kill-whole-line arg)))
 #+end_src
-    ]
-*** M-f
-:PROPERTIES:
-:CUSTOM_ID: 869f0aec-c739-4fb7-8e3a-8b55ab637765
-:END:
-*** [C-M-f]
-:PROPERTIES:
-:CUSTOM_ID: e7e4dd0b-418f-48ee-b366-9e733e3bec61
-:END:
+*** M-f]
+print-var-at-point
+#+begin_src emacs-lisp
+(defun print-var-at-point ()
+  (interactive)
+  (let ((v (variable-at-point)))
+    (if (symbolp v)
+        (message "%s: %s" v (symbol-value v))
+      (message "no symbol found at point"))))
+(global-set-key (kbd "M-f") 'print-var-at-point)
+#+end_src
+
+*** C-M-f]
 kill rest of line
-    [
 #+begin_src emacs-lisp
 
   (add-hook 'org-mode-hook
@@ -6307,132 +4793,42 @@ kill rest of line
 
     (global-set-key (kbd "C-M-f") 'kill-line)
 #+end_src
-    ]
 *** C-S-f
-:PROPERTIES:
-:CUSTOM_ID: a59eb2ca-9439-4836-81f9-384bc8c07739
-:END:
-*** [C-g]
-SCHEDULED: <2014-01-13 Mon>
-    :PROPERTIES:
-    other-window / cancel
-    :ID:       a4e9c495-02c1-432e-beba-12a9d4d61e8a
-    :CUSTOM_ID: 4af40595-7010-4be6-8cfe-a43797ca6e33
-    :DRILL_LAST_INTERVAL: 2.4849
-    :DRILL_REPEATS_SINCE_FAIL: 1
-    :DRILL_TOTAL_REPEATS: 1
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-01-11 Sat 01:41>
-    :END:
+*** C-g]
 cancel / other window
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-g") 'other-window)
 #+end_src
-    ]
-*** [M-g]                                                             :drill:
-SCHEDULED: <2014-03-13 Thu>
-    :PROPERTIES:
-    abort-recursive-edit
-    :ID:       1e8e0c57-2885-4c0c-9b94-3ec0c02b706e
-    :CUSTOM_ID: fb0b343f-fdff-463a-94f4-3152191e17c4
-    :DRILL_LAST_INTERVAL: 22.1939
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:33>
-    :END:
+*** M-g]
 abort-recursive-edit
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "M-g") 'abort-recursive-edit)
 #+end_src
-    ]
-*** [C-M-g]
-:PROPERTIES:
-:CUSTOM_ID: 327e18af-30b7-47e5-aa53-5f678788b4c1
-:END:
+*** C-M-g]
 gnus
-[
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-g") 'gnus)
 #+end_src
-    ]
 *** C-S-g
-:PROPERTIES:
-:CUSTOM_ID: 1d4edc55-7b30-4648-b869-b82f8f1d7b1a
-:END:
 *** C-z
-    :PROPERTIES:
-    undo-tree-undo
-    :ID:       42d7f2bf-3ba3-488b-b501-bd4680dbb8de
-    :CUSTOM_ID: 707c4938-a790-4da9-8230-61855ea57d09
-    :END:
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-z") 'undo-tree-undo)
 #+end_src
-    ]
 *** M-z
-:PROPERTIES:
-:CUSTOM_ID: a01c110e-9970-4571-84ab-379eecc7dd31
-:END:
-*** [C-M-z]
+*** C-M-z]
 *** C-S-z
-:PROPERTIES:
-:CUSTOM_ID: 3d56370d-11cd-4026-8e6b-3ae9b7b51714
-:END:
 *** C-x
-:PROPERTIES:
-:CUSTOM_ID: ec1403d3-528e-41b1-a195-5563bc93e124
-:END:
 kill-region
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-s") 'kill-region)
 #+end_src
-*** [M-x]                                                             :drill:
-SCHEDULED: <2014-03-31 Mon>
-:PROPERTIES:
-:CUSTOM_ID: bb7c95d5-dd97-439d-bf1f-cdac98d11543
-:ID:       909cf249-c2f2-4251-bf18-c990ca9c6ff9
-:DRILL_LAST_INTERVAL: 21.5453
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.25
-:DRILL_EASE: 2.58
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:33>
-:END:
+*** M-x]
 append-next-kill
-[
 #+begin_src emacs-lisp
 (global-set-key (kbd "M-x") 'append-next-kill)
 #+end_src
-]
-*** [C-M-x]                                                           :drill:
-SCHEDULED: <2014-03-17 Mon>
-    :PROPERTIES:
-    append-next-kill
-    :ID:       b2b60fb4-95a3-4311-8ccd-7132f03ac9a8
-    :CUSTOM_ID: c988370e-602c-431c-80a9-608459583f8b
-    :DRILL_LAST_INTERVAL: 26.0772
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:49>
-    :END:
+*** C-M-x]
 cut-to-register
-    [
 #+begin_src emacs-lisp
 ;; same args as copy-to-register
 (defun cut-to-register (register start end &optional delete-flag region)
@@ -6445,16 +4841,8 @@ cut-to-register
 
 (global-set-key (kbd "C-M-x") 'cut-to-register)
 #+end_src
-    ]
 *** C-S-x
-:PROPERTIES:
-:CUSTOM_ID: 0ce7383c-0776-407e-9ac5-981d1476f541
-:END:
 *** C-c
-    :PROPERTIES:
-    :ID:       5416e482-6f36-4d35-84c3-49bb184a53e9
-    :CUSTOM_ID: 400f06e1-8e45-443c-8d7b-3d1bb1176aab
-    :END:
 copy
 #+begin_src emacs-lisp
 (global-set-key (kbd "C-d") 'kill-ring-save)
@@ -6470,56 +4858,18 @@ copy
             (define-key c-mode-base-map (kbd "<deletechar>") 'c-electric-delete-forward)))
 
 #+end_src
-*** [M-c]                                                             :drill:
-SCHEDULED: <2014-03-24 Mon>
-    :PROPERTIES:
-    org-capture
-    :ID:       bf1cb358-ec72-425d-aebb-0c1f0ece7717
-    :CUSTOM_ID: f4c3317a-a317-4d04-8cb7-e46d0716bf1d
-    :DRILL_LAST_INTERVAL: 32.7466
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:53>
-    :END:
+*** M-c]
 org-capture
-    [
 #+begin_src emacs-lisp
   (define-key global-map "\M-c" 'org-capture)
 #+end_src
-]
-*** [C-M-c]                                                           :drill:
-SCHEDULED: <2014-03-24 Mon>
-    :PROPERTIES:
-    copy-to-register
-    :ID:       956fd2ec-ad26-4842-b56c-f2165648c461
-    :CUSTOM_ID: 0a151d99-47ae-4e8f-8407-82e77d24a3e7
-    :DRILL_LAST_INTERVAL: 32.7466
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:51>
-    :END:
+*** C-M-c]
 copy-to-register
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-M-c") 'copy-to-register)
 #+end_src
-]
 *** C-S-c
-:PROPERTIES:
-:CUSTOM_ID: b78d717f-cfb3-477a-b951-63f523635f5c
-:END:
 *** C-v
-:PROPERTIES:
-:CUSTOM_ID: 16411f68-7fe0-49e8-9a73-212471594f9e
-:END:
 yank
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-v") 'yank-better)
@@ -6543,194 +4893,43 @@ yank
 
     (put 'yank-better 'delete-selection 'yank)
 #+end_src
-*** [M-v]                                                             :drill:
-SCHEDULED: <2014-03-11 Tue>
-    :PROPERTIES:
-    insert-register
-    :ID:       7e21df8d-fdf7-47ed-8648-f9d182445145
-    :CUSTOM_ID: d67f6371-a13f-4a75-8d8c-e4013ff4e131
-    :DRILL_LAST_INTERVAL: 2.2172
-    :DRILL_REPEATS_SINCE_FAIL: 1
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 2.84
-    :DRILL_EASE: 2.381
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:38>
-    :END:
+*** M-v]
 insert-register
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "M-v") 'insert-register)
 #+end_src
-    ]
-*** [C-M-v]                                                           :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    yank pop
-    :ID:       e05d9d8f-1387-44b3-b348-a45cf6083bd2
-    :CUSTOM_ID: 25f86658-9999-40f7-b3a4-615981751b93
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
+*** C-M-v]
 yank-pop
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-v") 'yank-pop)
 #+end_src
-    ]
 *** C-S-v
-:PROPERTIES:
-:CUSTOM_ID: 6732ed10-a473-445d-b14a-5f4c17c6a3ef
-:END:
-*** [C-b]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    delete-other-windows
-    :ID:       c9309da7-6801-4d94-a21e-140f4b258c28
-    :CUSTOM_ID: e682305e-0110-4d2f-afbd-2c401bcb9313
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:34>
-    :END:
+*** C-b]
 delete-other-windows
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-b") 'delete-other-windows)
 #+end_src
-    ]
-*** [M-b]                                                             :drill:
-SCHEDULED: <2014-04-07 Mon>
-    :PROPERTIES:
-    isearch-backward-current-symbol
-    :CUSTOM_ID: 05e3d0db-36dc-455f-8bed-f87886ca6004
-    :ID:       0272efdb-eb85-485c-b24f-410ceabeb330
-    :DRILL_LAST_INTERVAL: 28.6736
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.4
-    :DRILL_EASE: 2.666
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-    :END:
+*** M-b]
 isearch-backward-current-symbol
-    [
 #+begin_src emacs-lisp
    (global-set-key (kbd "M-b") 'isearch-backward-current-symbol)
 #+end_src
-]
-*** [C-M-b]                                                           :drill:
-SCHEDULED: <2014-04-04 Fri>
-    :PROPERTIES:
-    isearch-current-symbol
-    :ID:       235b96a8-e724-419d-8d07-8d0a021213eb
-    :CUSTOM_ID: 6c63790c-28c1-4b73-96e2-ee859f57e734
-    :DRILL_LAST_INTERVAL: 40.0706
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.929
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 02:26>
-    :END:
+*** C-M-b]
 isearch-current-symbol
-    [
     #+begin_src emacs-lisp
 (global-set-key (kbd "C-M-b") 'isearch-current-symbol)
 #+end_src
-]
 *** C-S-b
-:PROPERTIES:
-:CUSTOM_ID: a220d7e0-12df-4d37-a57a-266785e7f3c5
-:END:
-*** [C-tab]                                                           :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    yas-insert-snippet
-    :CUSTOM_ID: edc45592-c69f-4439-8305-48f2c65696c3
-    :ID:       92eac3e1-0675-4746-a130-7539f9bc213a
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:42>
-    :END:
-yas-expand
-    [
-    #+begin_src emacs-lisp
-;; yas keymaps are already initialized when this runs,
-;; but I use a hook because it the way I do it for all other minor modes
-  (add-hook 'yas-minor-mode-hook (lambda ()
-                                   (define-key yas-minor-mode-map (kbd "<C-tab>") 'yas-expand)
-                                   (define-key yas-keymap (kbd "<C-tab>") 'yas-next-field-or-maybe-expand)))
-  (global-set-key (kbd "<C-tab>") 'yas-insert-snippet)
-#+end_src
-]
-*** [M-tab]                                                           :drill:
-SCHEDULED: <2014-03-14 Fri>
-    :PROPERTIES:
-    indent line
-    :ID:       35b77d8a-9e69-4f8e-a2ac-c78fcf6dc1f5
-    :CUSTOM_ID: 71264957-45fd-455a-a6d1-b08823c02d25
-    :DRILL_LAST_INTERVAL: 23.0811
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.929
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:35>
-    :END:
-indent line
-    [
-#+begin_src emacs-lisp
-
-  (global-set-key (kbd "<M-tab>") 'indent-for-tab-command)
-
-  ; todo, <M-tab> overrides calculator mode map
-#+end_src
-]
+*** C-tab]
+---
+in terminal, it's just TAB, duplicate keybind.
+*** M-tab]
+---
+in terminal it's duplicated of C-M-i
 *** C-M-tab
-:PROPERTIES:
-:CUSTOM_ID: 33b76824-317c-4657-8a5b-2b126b8f7fc9
-:END:
 *** C-S-tab
-:PROPERTIES:
-:CUSTOM_ID: 89d1aeca-47ed-4e4a-89d2-ff70c06e08c8
-:END:
-*** [C-delete]                                                        :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    kill-symbol
-    :ID:       bb7ae41f-8fab-42ee-9338-33dd22d7f173
-    :CUSTOM_ID: 2688b61d-9fdd-44af-b9bd-b126f0da00bd
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:12>
-    :END:
+*** C-delete]
 kill-symbol
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "<C-delete>") 'kill-symbol)
 (defun kill-symbol (arg)
@@ -6738,55 +4937,16 @@ kill-symbol
     (kill-region (point) (save-excursion (forward-symbol arg) (point))))
 
 #+end_src
-]
 *** M-delete
-:PROPERTIES:
-:CUSTOM_ID: 60747222-b0e5-4983-9bed-e6d44f65483a
-:END:
-*** [C-M-delete]                                                      :drill:
-SCHEDULED: <2014-03-24 Mon>
-    :PROPERTIES:
-    kill-sexp
-    kill-sexp
-    :CUSTOM_ID: 21876759-a8e6-4896-8a08-eda40d0eaff3
-    :ID:       7f2797e1-dd39-4d0a-8b87-264e2757543b
-    :DRILL_LAST_INTERVAL: 28.5089
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.6
-    :DRILL_EASE: 2.802
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 02:27>
-    :END:
+*** C-M-delete]
 kill-sexp
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "<C-M-delete>") 'kill-sexp)
 #+end_src
-    ]
 *** C-S-delete
-:PROPERTIES:
-:CUSTOM_ID: 696e9e0f-f717-44cd-90e7-a73d76a58162
-:END:
 
-*** [C-left-arrow]                                                    :drill:
-SCHEDULED: <2014-03-15 Sat>
-    :PROPERTIES:
-    compile
-    :ID:       fbc09f29-fb89-479f-b509-255352e4e9d1
-    :CUSTOM_ID: b15da91f-0786-49d1-b0b9-331b3b94f6ae
-    :DRILL_LAST_INTERVAL: 24.2738
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:24>
-    :END:
+*** C-left-arrow]
 compile / comint search
-    [
 #+begin_src emacs-lisp
 (defun set-p (var)
   (and (bound-and-true-p var)
@@ -6811,54 +4971,16 @@ compile / comint search
             (define-key comint-mode-map (kbd "C-(") 'isearch-backward)))
 
 #+end_src
-]
 *** M-left-arrow
-:PROPERTIES:
-:CUSTOM_ID: 73085b60-95f3-44bf-af71-70d6a7f9b9c6
-:END:
-*** [C-M-left-arrow]                                                  :drill:
-SCHEDULED: <2014-03-10 Mon>
-:PROPERTIES:
+*** C-M-left-arrow]
 org-shiftup
-:CUSTOM_ID: 13faf5d4-34be-4363-948d-4ff04a9f570b
-:ID:       39390478-6d33-460e-ab47-0dc6ac4c5249
-:DRILL_LAST_INTERVAL: 7.6079
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 6
-:DRILL_AVERAGE_QUALITY: 2.886
-:DRILL_EASE: 2.402
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:01>
-:END:
-org-shiftup
-[
 #+begin_src emacs-lisp
  (add-hook 'org-mode-hook
             (lambda () (define-key org-mode-map (kbd "C-M-(") 'org-shiftup)))
 #+end_src
-]
 *** C-S-left-arrow
-:PROPERTIES:
-:CUSTOM_ID: 4e3a7ead-efb5-46d8-9465-1867d47e5ec2
-:END:
-*** [C-right-arrow]                                                   :drill:
-SCHEDULED: <2014-05-13 Tue>
-:PROPERTIES:
-paste selection
-:CUSTOM_ID: 3f3cac16-097d-451a-a14a-da7717d06730
-:ID:       1b0ac338-d87b-4a37-b192-bc4305a337cc
-:DRILL_LAST_INTERVAL: 71.5839
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.75
-:DRILL_EASE: 4.85
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:11>
-:END:
+*** C-right-arrow]
 keyboard-yank-primary
-[
 #+begin_src emacs-lisp
 (defun keyboard-yank-primary ()
   (interactive)
@@ -6867,43 +4989,15 @@ keyboard-yank-primary
 ;; paste selection
 (global-set-key (kbd "C-)") 'keyboard-yank-primary)
 #+end_src
-]
 *** M-right-arrow
-:PROPERTIES:
-:CUSTOM_ID: 97a4513f-6837-47c5-9e2b-354542d67d29
-:END:
 *** C-M-right-arrow
-:PROPERTIES:
-org-shiftdown
-:CUSTOM_ID: 34e66314-1d97-4eeb-b704-fe0733849ae4
-:END:
-[
 #+begin_src emacs-lisp
  (add-hook 'org-mode-hook
             (lambda () (define-key org-mode-map (kbd "C-M-)") 'org-shiftdown)))
 #+end_src
-]
 *** C-S-right-arrow
-:PROPERTIES:
-:CUSTOM_ID: f441e351-ccd7-4ac1-9a4d-a0a1dd17b73e
-:END:
-*** [C-backspace]                                                     :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    backward-kill-symbol
-    :CUSTOM_ID: 85bb4701-42e6-4617-8de8-dfb1f03b0358
-    :ID:       9c0e1f0a-7b45-4670-86a2-9df945142cbe
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:12>
-    :END:
+*** C-backspace]
 backward-kill-symbol
-    [
 #+begin_src emacs-lisp
 (global-set-key (kbd "<C-backspace>") 'backward-kill-symbol)
 (add-hook 'comint-mode-hook
@@ -6913,146 +5007,46 @@ backward-kill-symbol
     (interactive "p")
     (kill-region (point) (save-excursion (backward-symbol arg) (point))))
 #+end_src
-]
 *** M-backspace
-:PROPERTIES:
-:CUSTOM_ID: d4b3e996-208a-4b6d-a747-076e56bd7da3
-:END:
-*** [C-M-backspace]                                                   :drill:
-SCHEDULED: <2014-03-18 Tue>
-:PROPERTIES:
-:ID:       1030c81d-2cc2-42ba-8aa5-fe98271a00f2
-:DRILL_LAST_INTERVAL: 26.5334
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:46>
-:CUSTOM_ID: 606b0991-7431-4a8a-a909-b872e104cc88
-:END:
+*** C-M-backspace]
 backward-kill-sexp
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "<C-M-backspace>") 'backward-kill-sexp)
 #+end_src
-    ]
 *** C-S-backspace
-:PROPERTIES:
-:CUSTOM_ID: 9c826109-76fd-403e-b15e-ceee5f925f6c
-:END:
 *** C-f7
-:PROPERTIES:
-:CUSTOM_ID: 8e4b9a2c-35ff-4300-91ff-65d19d6b2fde
-:END:
 *** M-f7
-:PROPERTIES:
-:CUSTOM_ID: 390a5b78-f5fe-41b6-bb36-ea9c81806989
-:END:
 *** C-M-f7
-:PROPERTIES:
-:CUSTOM_ID: a8e9d8e4-4f29-4da6-a7b8-3d136a3e1c18
-:END:
 *** C-S-f7
-:PROPERTIES:
-:CUSTOM_ID: 60bb5cd8-aeb3-4014-81f2-4cee72e9547c
-:END:
 
 ** right primary
-*** [C-*]                                                             :drill:
-SCHEDULED: <2014-03-16 Sun>
-    :PROPERTIES:
-    split-window-horizontally
-    :ID:       c9f11b06-583f-48e5-8d0a-56107feb0010
-    :CUSTOM_ID: f745b337-8b65-44cc-849a-5e0953c9ebd9
-    :DRILL_LAST_INTERVAL: 13.9711
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 6
-    :DRILL_FAILURE_COUNT: 3
-    :DRILL_AVERAGE_QUALITY: 2.982
-    :DRILL_EASE: 2.447
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:04>
-    :END:
+*** C-*]
 split-window-horizontally
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-*") 'split-window-horizontally)
 #+end_src
-    ]
 *** M-*
-*** [C-M-*]                                                           :drill:
-SCHEDULED: <2014-03-17 Mon>
-:PROPERTIES:
+*** C-M-*]
 calc-dispatch
-:CUSTOM_ID: 5dbe3437-7364-4802-b558-00b2d5faacf6
-:ID:       2cffe3fb-a21a-4a49-83f8-65218c7a45a2
-:DRILL_LAST_INTERVAL: 15.2345
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 2.893
-:DRILL_EASE: 2.405
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-:END:
-calc-dispatch
-[
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-M-*") 'calc-dispatch)
 #+end_src
-]
 *** C-S-*
-:PROPERTIES:
-:CUSTOM_ID: 8c414142-8a42-46df-9ab2-898f1be636c8
-:END:
-*** [C-9]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-:PROPERTIES:
-:ID:       eda4444e-f1c4-4db7-918d-96789f6a0b2b
-:CUSTOM_ID: 43d14154-2722-4ba5-b547-1b78c6274ebf
-:DRILL_LAST_INTERVAL: 50.6823
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 5.0
-:DRILL_EASE: 5.815
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:40>
-:END:
+*** C-9]
 delete-window-or-exit
-[
 #+begin_src emacs-lisp
-  (global-set-key (kbd "C-9") 'delete-window-or-exit)
+(global-set-key (kbd "C-9") 'delete-window-or-exit)
 
-  (defun delete-window-or-exit ()
-    "Delete window or exit emacs."
-    (interactive)
-    (if (condition-case nil (delete-window) (error t))
-        (if (or (boundp 'server-process) (> (length (frame-list)) 1))
-            (delete-frame)
-          (save-buffers-kill-terminal t))))
-
-#+end_src
-]
-*** [M-9]                                                             :drill:
-SCHEDULED: <2014-03-12 Wed>
-    :PROPERTIES:
-    kill-buffer-and-window
-    :CUSTOM_ID: 9dc95338-4321-4354-9de2-69409f383a10
-    :ID:       24b7dd06-c5cc-4264-954f-d8190d44c1bf
-    :DRILL_LAST_INTERVAL: 20.7344
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.928
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:33>
-    :END:
+(defun delete-window-or-exit ()
+  "Delete window or exit emacs."
+  (interactive)
+  (if (condition-case nil (delete-window) (error t))
+      (if (or (boundp 'server-process) (> (length (frame-list)) 1))
+          (progn (basic-save-buffer) (delete-frame))
+        (save-buffers-kill-terminal t))))
+#+end_src
+*** M-9]
 kill-buffer
-    [
     #+begin_src emacs-lisp
 (defun kill-buffer-no-ido ()
 "kill-buffer, avoid the ido remapping"
@@ -7060,76 +5054,28 @@ kill-buffer
   (kill-buffer))
 (global-set-key (kbd "M-9") 'kill-buffer-no-ido)
     #+end_src
-]
 strangely, in simple mode, this is overridden.
 I found this map to override, but it didn't work, so it seems its being bound some other way.
 I did a grep of the emacs sources, but couldn't find anything.
 (define-key universal-argument-map [?9] nil)
 
-*** [C-M-9]                                                           :drill:
-SCHEDULED: <2014-03-17 Mon>
-    :PROPERTIES:
-    kill client buffer
-    :ID:       2046ac28-1c06-410b-bdd9-39eaeada50c0
-    :CUSTOM_ID: ffe9f636-31e5-48ba-b8fe-7c158ace744c
-    :DRILL_LAST_INTERVAL: 25.6978
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:41>
-    :END:
+*** C-M-9]
 end server edit
-    ,save & kill buffer it was opened externally via emacsclient
+    ,save & kill buffer if it was opened externally via emacsclient
 
- [
     #+begin_src emacs-lisp
-      (defun server-edit-save ()
-        (interactive)
-        (save-buffer)
-        (server-edit))
-      (global-set-key (kbd "C-M-9") 'server-edit-save)
+(defun server-edit-save ()
+  (interactive)
+  (save-buffer)
+  (server-edit))
+(global-set-key (kbd "C-M-9") 'server-edit-save)
     #+end_src
-]
 *** C-S-9
-:PROPERTIES:
-:CUSTOM_ID: 56d86cb3-cb86-42d8-9516-d7f2e086d88a
-:END:
-*** [C-u]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    :ID:       a254c137-8a33-440d-b71e-5fbf9a21e2f5
-    :CUSTOM_ID: 327992c0-6eba-4935-aec1-49871c2a8619
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:45>
-    :END:
+*** C-u]
 universal-argument
 *** M-u
-*** [C-M-u]                                                           :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    search-keybind
-    :ID:       a2e31aed-143f-4aa2-841b-857729417993
-    :CUSTOM_ID: 62735d64-b89a-46b7-b32e-2453b651039d
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:43>
-    :END:
+*** C-M-u]
 search-keybind
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-M-u") 'search-keybind)
 
@@ -7142,37 +5088,12 @@ search-keybind
       (delete-windows-on "*Help*")
       ))
 #+end_src
-    ]
 *** C-S-u
-:PROPERTIES:
-:CUSTOM_ID: 7f72dfa0-ba8e-4cd5-b25b-8ff6066464e6
-:END:
 *** C-i
-:PROPERTIES:
-:CUSTOM_ID: 3124e200-1d6e-4ad2-9a36-0d03e1e7dc38
-:END:
 -----
-*** M-i
-:PROPERTIES:
-:CUSTOM_ID: 95ab2045-88bf-4656-b8b1-6cebc87b89e0
-:END:
-*** [C-M-i]                                                           :drill:
-SCHEDULED: <2014-03-17 Mon>
-    :PROPERTIES:
-    query-replace-regexp
-    :CUSTOM_ID: a3260b61-7c51-4d97-9a91-3ed702c5ae29
-    :ID:       93f569b8-4bc8-49e1-a38e-ced3d3198ce8
-    :DRILL_LAST_INTERVAL: 26.3579
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:45>
-    :END:
+*** M-i
+*** C-M-i]
 query-replace-regexp
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-M-i") 'query-replace-regexp)
  (add-hook 'flyspell-mode-hook
@@ -7181,111 +5102,33 @@ query-replace-regexp
             (lambda () (define-key text-mode-map (kbd "C-M-i") nil)))
 
 #+end_src
-    ]
 *** C-S-i
-:PROPERTIES:
-:CUSTOM_ID: 076edcc2-040e-4371-9851-4e587766e1fe
-:END:
-*** [C-o]                                                             :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    occur
-    :ID:       a502687a-24b4-4b73-9abc-bc85b89ab235
-    :CUSTOM_ID: 82215193-63b3-4d63-8f70-d11a328fe72d
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
+*** C-o]
 occur
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-o") 'occur)
 #+end_src
-    ]
 *** M-o
-:PROPERTIES:
-:CUSTOM_ID: 8c58b99d-b1e4-4270-8d4a-8ae72e2a6470
-:END:
-*** [C-M-o]                                                           :drill:
-SCHEDULED: <2014-03-12 Wed>
-    :PROPERTIES:
-    ido-goto-symbol
-    :CUSTOM_ID: 05d1ef50-43ee-46d7-b1ad-dd952543ab45
-    :ID:       6dfcaa31-d223-4a14-904e-2f2395b2cf75
-    :DRILL_LAST_INTERVAL: 10.3122
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 9
-    :DRILL_FAILURE_COUNT: 9
-    :DRILL_AVERAGE_QUALITY: 2.994
-    :DRILL_EASE: 2.453
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-    :END:
-ido-goto-symbol
-    [
+*** C-M-o]
+counsel-imenu
 #+begin_src emacs-lisp
-  (global-set-key (kbd "C-M-o") 'ido-goto-symbol)
+  (global-set-key (kbd "C-M-o") 'counsel-imenu)
 #+end_src
-    ]
 *** C-S-o
-:PROPERTIES:
-:CUSTOM_ID: 7eacf048-4da8-4b2b-8a51-a4772111e285
-:END:
-*** [C-p]                                                             :drill:
-SCHEDULED: <2014-03-15 Sat>
-    :PROPERTIES:
-    move-mouse-to-point
-    :ID:       6b1abcf6-7f95-45c4-a87f-0e86c43c5af1
-    :CUSTOM_ID: 9c2e2ba9-f34e-48fe-b4ff-b9826882c1cc
-    :DRILL_LAST_INTERVAL: 23.5247
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:41>
-    :END:
+*** C-p]
 move-mouse-to-point
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-p") 'move-mouse-to-point)
 #+end_src
-]
 *** M-p
-*** [C-M-p]                                                     :drill:leech:
-    :PROPERTIES:
-    delete-horizontal-space
-    :ID:       e2972d5b-28e7-46aa-896f-66d68a6df0de
-    :CUSTOM_ID: d55616d3-a3f6-4e83-8807-748578a7b726
-    :DRILL_LAST_INTERVAL: 0.0
-    :DRILL_REPEATS_SINCE_FAIL: 0
-    :DRILL_TOTAL_REPEATS: 10
-    :DRILL_FAILURE_COUNT: 16
-    :DRILL_AVERAGE_QUALITY: 2.433
-    :DRILL_EASE: 2.18
-    :DRILL_LAST_QUALITY: 2
-    :DRILL_LAST_REVIEWED: <2014-04-14 Mon 11:31>
-    :END:
+*** C-M-p]
 delete-horizontal-space
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-p") 'delete-horizontal-space)
 #+end_src
-    ]
 *** C-S-p
-:PROPERTIES:
-:CUSTOM_ID: f0cffe8d-d2cb-4f5d-a3f2-fa900e093ef7
-:END:
-*** [C-j]                                                             :drill:
-SCHEDULED: <2014-03-15 Sat>
+*** C-j]
 pop-to-mark
-    [
 #+begin_src emacs-lisp
 (defun my-pop-to-mark-command ()
   "Jump to mark, and pop a new position for mark off the ring.
@@ -7304,217 +5147,56 @@ pop-to-mark
             (define-key lisp-interaction-mode-map (kbd "C-j") nil)))
 
 #+end_src
-]
-*** [M-j]                                                             :drill:
-SCHEDULED: <2014-03-13 Thu>
-    :PROPERTIES:
-    previous-error
-    :ID:       cb5f0e6f-815d-488f-bfb2-5d31bd5dc215
-    :CUSTOM_ID: 474a3e12-95ac-4f43-b83a-36716f3e6f76
-    :DRILL_LAST_INTERVAL: 21.5453
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.25
-    :DRILL_EASE: 2.58
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:39>
-    :END:
+*** M-j]
 previous-error
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "M-j") 'previous-error)
 #+end_src
-    ]
-*** [C-M-j]
+*** C-M-j]
 
 register prefix
-[
-    :PROPERTIES:
-    :CUSTOM_ID: ebcf7c71-3c93-431b-af6b-7c5df7f2945e
-    :ID:       d2604f6e-341d-4d57-91c8-ec6f2cdeb901
-    :DRILL_LAST_INTERVAL: 23.5247
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:45>
-    :END:
 #+begin_src emacs-lisp
 (define-key global-map (kbd "C-M-j") ctl-x-r-map)
 (define-key ctl-x-r-map "m" 'kmacro-to-register)
 #+end_src
-    ]
 
 *** C-S-j
-:PROPERTIES:
-:CUSTOM_ID: 381a6c7c-e763-4d9a-86f5-55a5e0afcee1
-:END:
-*** [C-k]                                                             :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    jump to register
-    :CUSTOM_ID: 25a7ba1c-ddf3-47f1-9516-914a552e7a36
-    :ID:       095be13e-f98c-4f42-9353-08329fa47d06
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
+*** C-k]
 jump-to-register
-    [
 #+begin_src emacs-lisp
 
     (global-set-key (kbd "C-k") 'jump-to-register)
 #+end_src
-    ]
-*** [M-k]                                                             :drill:
-SCHEDULED: <2014-03-15 Sat>
-    :PROPERTIES:
-    next-error
-    :ID:       c9f19dcc-4c14-4bdd-b350-c426dff14189
-    :CUSTOM_ID: a96691bb-9e4c-414b-a093-d9961d453e21
-    :DRILL_LAST_INTERVAL: 24.4352
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.929
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:40>
-    :END:
+*** M-k]
 next-error
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "M-k") 'next-error)
 #+end_src
-    ]
-*** [C-M-k]                                                           :drill:
-SCHEDULED: <2014-03-21 Fri>
-:PROPERTIES:
-man
-:CUSTOM_ID: f61ea4ea-4597-422e-b7e3-d3cfad82603d
-:ID:       4c874a82-22dd-4bc2-a0ac-24420c30b888
-:DRILL_LAST_INTERVAL: 29.8228
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.25
-:DRILL_EASE: 3.589
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:46>
-:END:
+*** C-M-k]
 man
-[
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-k") 'man)
 #+end_src
-]
 *** C-S-k
-:PROPERTIES:
-:CUSTOM_ID: da51b99a-1782-45ad-92be-f4c0a645bea8
-:END:
-*** [C-l]                                                             :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    ido-switch-buffer
-    :ID:       3c7fabd9-572d-4945-ab4b-d7a8dc2cd9c5
-    :CUSTOM_ID: 8a7572bd-4b5e-4464-b937-3d35adb1783f
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
-ido-switch-buffer
-    [
+*** C-l]
+ivy-switch-buffer
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-l") 'ido-switch-buffer)
+    (global-set-key (kbd "C-l") 'ivy-switch-buffer)
 #+end_src
-    ]
 *** M-l
-:PROPERTIES:
-:CUSTOM_ID: 27f47c6c-36ad-430e-b4b0-5e96b635bf36
-:END:
 
-*** [C-M-l]                                                           :drill:
-SCHEDULED: <2014-04-04 Fri>
-    :PROPERTIES:
-    move cursor top bottom mid
-    :ID:       37a3ccad-9b61-44b0-bddb-219a024cd963
-    :CUSTOM_ID: 24b660d4-3ec4-4416-8a6a-b8224ed1ee8b
-    :DRILL_LAST_INTERVAL: 25.8141
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.0
-    :DRILL_EASE: 2.456
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-    :END:
+*** C-M-l]
 move cursor top bottom mid, comint clear screen
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-l") 'move-to-window-line-top-bottom)
 #+end_src
-    ]
 *** C-S-l
-:PROPERTIES:
-:CUSTOM_ID: c355178f-c9b4-4ae7-9627-b4117fef45b9
-:END:
-*** [C-;]                                                             :drill:
-SCHEDULED: <2014-03-19 Wed>
-    :PROPERTIES:
-    comment-dwim
-    :CUSTOM_ID: 7e3710eb-5460-4460-8bf0-488302e4ce35
-    :ID:       1c1b7a4a-484b-4faf-ae20-65d096ff2574
-    :DRILL_LAST_INTERVAL: 27.9041
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:45>
-    :END:
-comment-dwim
-    [
-#+begin_src emacs-lisp
-  (global-set-key (kbd "C-;") 'comment-dwim)
-  (add-hook 'flyspell-mode-hook
-            (lambda () (define-key flyspell-mode-map (kbd "C-;") nil)))
-#+end_src
-]
+*** C-;]
+used in flyspell, not sure what for, otherwise unbound
 *** M-;
-:PROPERTIES:
-:CUSTOM_ID: 211e76d9-d89a-4cc6-abce-69397d456fda
-:END:
-*** [C-M-;]                                                           :drill:
-SCHEDULED: <2014-04-07 Mon>
-    :PROPERTIES:
-    comment-current-line-dwim
-    :ID:       9ff312cc-f460-4f5d-9e4b-37f7ed538209
-    :CUSTOM_ID: 28680a96-5223-4632-80b9-b1facdd541e7
-    :DRILL_LAST_INTERVAL: 42.8284
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.5
-    :DRILL_EASE: 4.122
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:51>
-    :END:
+comment-dwim
+*** C-M-;]
 comment-current-line-dwim
-    [
 #+begin_src emacs-lisp
   (defun comment-current-line-dwim ()
     "Comment or uncomment the current line."
@@ -7526,110 +5208,31 @@ comment-current-line-dwim
     (move-beginning-of-line 2))
   (global-set-key (kbd "C-M-;") 'comment-current-line-dwim)
 #+end_src
-    ]
 *** C-S-;
-:PROPERTIES:
-:CUSTOM_ID: c9f00d6c-f9d2-420f-a08e-21ea78023066
-:END:
-*** [C-m]
-:PROPERTIES:
-:CUSTOM_ID: deee53ba-dfa2-4910-894c-55ae98d11aa4
-:END:
+*** C-m]
 *** M-m
-:PROPERTIES:
-:CUSTOM_ID: f7237459-96b6-4de9-937f-5fbfa9ca5b1e
-:END:
-*** [C-M-m]                                                           :drill:
-SCHEDULED: <2014-03-11 Tue>
-    :PROPERTIES:
-    recursive grep
-    :CUSTOM_ID: f283f705-cba0-45db-b80f-5d20415b2eee
-    :ID:       b952fa90-b492-4f85-9d8e-5cd24c060b94
-    :DRILL_LAST_INTERVAL: 9.1491
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 7
-    :DRILL_FAILURE_COUNT: 3
-    :DRILL_AVERAGE_QUALITY: 2.924
-    :DRILL_EASE: 2.42
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:05>
-    :END:
+*** C-M-m]
 recursive grep
-    [
 #+begin_src emacs-lisp
   (define-key global-map (kbd "C-M-m") 'rgrep)
 #+end_src
-]
 *** C-S-m
-:PROPERTIES:
-:CUSTOM_ID: dd3136a5-5383-4fc7-8c9f-fcbaba251a76
-:END:
-*** [C-,]                                                             :drill:
-SCHEDULED: <2014-05-13 Tue>
-    :PROPERTIES:
-    ido-find-file
-    :CUSTOM_ID: 6cbf3a85-f260-453a-920b-850ff5e986b1
-    :ID:       df0f3769-bcfc-4cb9-8943-bb86dafb2711
-    :DRILL_LAST_INTERVAL: 71.5839
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.75
-    :DRILL_EASE: 4.85
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-    :END:
-ido-find-file
-    [
+*** C-,]
+counsel-find-file
 #+begin_src emacs-lisp
-    (global-set-key (kbd "C-,") 'ido-find-file)
+    (global-set-key (kbd "C-,") 'counsel-find-file)
 (add-hook 'flyspell-mode-hook
             (lambda () (define-key flyspell-mode-map (kbd "C-,") nil)))
 #+end_src
-    ]
 *** M-,
-*** [C-M-,]                                                           :drill:
-SCHEDULED: <2014-03-19 Wed>
-:PROPERTIES:
-find-file-in-project
-:ID:       fca85295-0567-4443-ac74-a54b93a2e603
-:CUSTOM_ID: bfdf6111-029d-462b-bcca-50a3ed2162d5
-:DRILL_LAST_INTERVAL: 24.3844
-:DRILL_REPEATS_SINCE_FAIL: 5
-:DRILL_TOTAL_REPEATS: 5
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.0
-:DRILL_EASE: 2.456
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:51>
-:END:
+*** C-M-,]
 find-file-in-project
-[
     #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-,") 'find-file-in-project)
 #+end_src
- ]
 *** C-S-,
-:PROPERTIES:
-:CUSTOM_ID: 74a86b9e-9a56-4f5e-a6eb-9f2cd09da613
-:END:
-*** [C-.]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    recentf-ido-find-file
-    :CUSTOM_ID: 0675c171-8677-44a8-882c-e7ed42715e31
-    :ID:       a600d171-1964-4a81-a39e-cfac4716f96d
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:41>
-    :END:
+*** C-.]
 find recent file
-    [
 Taken from starter kit.
 #+begin_src emacs-lisp
   (defun recentf-ido-find-file ()
@@ -7658,30 +5261,16 @@ Taken from starter kit.
  (add-hook 'php-mode-hook
             (lambda () (define-key php-mode-map (kbd "C-.") nil)))
 #+end_src
-]
 *** M-.
 *** C-M-.
-:PROPERTIES:
-:CUSTOM_ID: 824d422c-67b6-4d68-af11-6a2135e528f5
-:END:
 -
-[
 #+begin_src emacs-lisp
   (define-key dot-mode-map (kbd "C-M-.") nil)
 ;;  (global-set-key (kbd "C-M-.") 'execute-extended-command)
 #+end_src
-    ]
 *** C-S-.
-:PROPERTIES:
-:CUSTOM_ID: 346effe7-027b-4c4a-a236-3bc6ef541a0c
-:END:
-*** [C-/]                                                             :drill:
-:PROPERTIES:
-:CUSTOM_ID: 941a7fa8-84b9-434d-89a0-1487385ec479
-:ID:       1bf4af8d-58bb-4b58-af60-2ed87f32f4eb
-:END:
+*** C-/]
 join lines
-    [
 #+begin_src emacs-lisp
   (defun vim-style-join-line ()
     (interactive)
@@ -7689,18 +5278,9 @@ join lines
   (global-set-key (kbd "C-/") 'vim-style-join-line)
 (define-key undo-tree-map (kbd "C-/") nil)
 #+end_src
-    ]
 *** M-/
-:PROPERTIES:
-:CUSTOM_ID: f65acefa-7e11-438e-a59c-42a9c7c71607
-:END:
-*** [C-M-/]                                                           :drill:
-:PROPERTIES:
-:CUSTOM_ID: 37f67593-4f60-4d3b-9aad-6c9bc4882443
-:ID:       c41dd5ab-619f-40fe-9471-9ba59d0fef46
-:END:
+*** C-M-/]
 copy-variable
-[
 #+begin_src emacs-lisp
 (defun copy-variable (variable)
   (interactive
@@ -7723,61 +5303,17 @@ copy-variable
 (global-set-key (kbd "C-M-/") 'copy-variable)
 
 #+end_src
-]
 *** C-S-/
-:PROPERTIES:
-:CUSTOM_ID: ff612b05-8a3f-4599-a95b-f8af19b71b47
-:END:
-*** [C-8]                                                             :drill:
-SCHEDULED: <2014-03-13 Thu>
-:PROPERTIES:
+*** C-8]
 calc-embedded-word
-:CUSTOM_ID: 251c4a1a-a683-4804-a706-d0d3752e42fa
-:ID:       8084cd41-1833-4e16-ac01-60a5738d0bf3
-:DRILL_LAST_INTERVAL: 22.2211
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 1
-:DRILL_AVERAGE_QUALITY: 3.5
-:DRILL_EASE: 2.73
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:35>
-:END:
-calc-embedded-word
-[
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-8") 'calc-embedded-word)
 #+end_src
-]
 *** M-8
-:PROPERTIES:
-:CUSTOM_ID: 34f4f850-c3e4-4724-aabc-08eee19f034a
-:END:
 *** C-M-8
-:PROPERTIES:
-:CUSTOM_ID: 52191c76-756e-4dcc-87a5-2b84c550db5f
-:END:
 *** C-S-8
-:PROPERTIES:
-:CUSTOM_ID: 3f677c1a-7011-467e-ae4c-4b944807376b
-:END:
-*** [C-up-arrow]                                                      :drill:
-SCHEDULED: <2014-03-14 Fri>
-    :PROPERTIES:
-    back defun/headline
-    :CUSTOM_ID: f47d312a-063d-42ed-a352-176298a2cb0c
-    :ID:       93fe8dac-4206-4131-9264-3411e6467b01
-    :DRILL_LAST_INTERVAL: 23.4066
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 3
-    :DRILL_AVERAGE_QUALITY: 3.2
-    :DRILL_EASE: 2.554
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 18:04>
-    :END:
+*** C-up-arrow]
 org prev headline
-    [
 #+begin_src emacs-lisp
   (define-key undo-tree-map "\C-_" nil)
 ;; disabled just because i don't want to accidentally hit it
@@ -7791,36 +5327,15 @@ org prev headline
 #+end_src
 
 
-]
 *** M-up-arrow
-:PROPERTIES:
-:CUSTOM_ID: 30f87801-2c2d-4722-9348-fb38ea6c09b0
-:END:
 *** C-M-up-arrow
-*** C-S-up-arrow        :drill:
+*** C-S-up-arrow
 winner undo
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "<C-S-_>") 'winner-undo)
 #+end_src
-    ]
-*** [C-down-arrow]                                                    :drill:
-SCHEDULED: <2014-03-13 Thu>
-    :PROPERTIES:
-    forward dfun/headline
-    :CUSTOM_ID: 27435136-b3d7-4f25-aa85-2a7363a7f366
-    :ID:       da405d83-b0af-4778-9703-a3f109a1233d
-    :DRILL_LAST_INTERVAL: 10.7692
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 6
-    :DRILL_FAILURE_COUNT: 1
-    :DRILL_AVERAGE_QUALITY: 3.167
-    :DRILL_EASE: 2.537
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:09>
-    :END:
+*** C-down-arrow]
 org next headline
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "<C-kp-enter>") 'end-of-defun)
 
@@ -7831,25 +5346,9 @@ org next headline
 #+end_src
 
 
-    ]
 *** M-down-arrow
-*** [C-M-down-arrow]                                                  :drill:
-SCHEDULED: <2014-03-20 Thu>
-:PROPERTIES:
-toggle-mark-activation
-:ID:       c57f3bab-8ea1-423d-b759-e1ec2586753c
-:CUSTOM_ID: 3bcb35fd-6d54-4213-b94f-2739c0bc0041
-:DRILL_LAST_INTERVAL: 17.6506
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 7
-:DRILL_FAILURE_COUNT: 4
-:DRILL_AVERAGE_QUALITY: 3.661
-:DRILL_EASE: 2.851
-:DRILL_LAST_QUALITY: 5
-:DRILL_LAST_REVIEWED: <2014-03-02 Sun 21:10>
-:END:
+*** C-M-down-arrow]
 toggle-mark-activation
-[
 #+begin_src emacs-lisp
   (defun toggle-mark-activation ()
     (interactive)
@@ -7859,114 +5358,39 @@ toggle-mark-activation
 
   (global-set-key (kbd "<C-M-kp-enter>") 'toggle-mark-activation)
 #+end_src
-]
 winner redo
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "<C-S-kp-enter>") 'winner-redo)
 #+end_src
-    ]
-
-*** [C-S-down-arrow]                                                             :drill:
-SCHEDULED: <2014-03-19 Wed>
-    :PROPERTIES:
-    smex-major-mode-commands
-    :CUSTOM_ID: 1434bdd0-c5a8-4c96-9b92-9474e88fd1c5
-    :ID:       1e992e46-ec69-416c-b7d7-7c87da109b43
-    :DRILL_LAST_INTERVAL: 24.3844
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 5
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.0
-    :DRILL_EASE: 2.456
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 02:28>
-    :END:
+
+*** C-S-down-arrow]
 m-x for major mode
-    [
     #+begin_src emacs-lisp
   (global-set-key (kbd "<C-S-kp-enter>") 'smex-major-mode-commands)
 #+end_src
-]
 *** C-lbracket
-:PROPERTIES:
-:CUSTOM_ID: 9d9916dd-3280-47dd-aab1-cd28d5ebfe15
-:END:
 ----
 *** M-lbracket
-*** [C-M-lbracket]                                                    :drill:
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
+*** C-M-lbracket]
 scroll-right
-:CUSTOM_ID: 7411b1a5-c8fa-4bcc-8788-798e5635dd62
-:ID:       0bf13532-1df9-4eb3-953c-10901f2a5da5
-:DRILL_LAST_INTERVAL: 23.5247
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.5
-:DRILL_EASE: 2.73
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:25>
-:END:
-scroll-right
-[
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-[") 'scroll-right)
     #+end_src
-]
 *** C-S-lbracket
-*** [C-rbracket]
-:PROPERTIES:
-:CUSTOM_ID: 21b38c6b-3a46-4a08-8eca-d44abb148287
-:END:
+*** C-rbracket]
 fill-paragraph
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-]") 'fill-paragraph)
 #+end_src
 *** M-rbracket
-*** [C-M-rbracket]                                                    :drill:
-SCHEDULED: <2014-03-15 Sat>
-:PROPERTIES:
-scroll-left
-:CUSTOM_ID: c9c18f48-d0ca-4a1b-a751-7165f40118a3
-:ID:       ff008422-b6f5-4770-9e53-e6acdac90b45
-:DRILL_LAST_INTERVAL: 24.4352
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 3.75
-:DRILL_EASE: 2.929
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:44>
-:END:
+*** C-M-rbracket]
 scroll-left
-[
     #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-]") 'scroll-left)
     #+end_src
-]
 *** C-S-rbracket
-:PROPERTIES:
-:CUSTOM_ID: d42245ca-3246-477b-bda9-8776cd668cd1
-:END:
-*** [C-return]                                                        :drill:
-SCHEDULED: <2014-03-12 Wed>
-    :PROPERTIES:
-    newline next line
-    :ID:       20e450f0-6467-40f2-bd1b-b4038693e73f
-    :CUSTOM_ID: baf7ea5a-d16d-4fee-a6ce-542cc11beb97
-    :DRILL_LAST_INTERVAL: 20.7344
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.75
-    :DRILL_EASE: 2.928
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:29>
-    :END:
+*** C-return]
 newline-anywhere
-    [
 #+begin_src emacs-lisp
 (defun newline-anywhere ()
   "Add a newline from anywhere in the line."
@@ -7976,38 +5400,16 @@ newline-anywhere
 (global-set-key (kbd "<C-return>") 'newline-anywhere)
 
 #+end_src
-]
-*** [M-return]                                                        :drill:
-SCHEDULED: <2014-03-11 Tue>
-    :PROPERTIES:
-    non-indented newline
-    :ID:       4fc4d372-765e-4e2e-87f4-0a0e1fd93f34
-    :CUSTOM_ID: e6895ad3-a2c8-46c8-abbc-1bba94a88596
-    :DRILL_LAST_INTERVAL: 19.9622
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:30>
-    :END:
+*** M-return]
 plain newline
-    [
 #+begin_src emacs-lisp
 (defun plain-newline ()
 (interactive)
 (insert "\n"))
 (global-set-key (kbd "<M-return>") 'plain-newline)
 #+end_src
-]
 
 *** C-M-return
-:PROPERTIES:
-open newline on previous line
-:CUSTOM_ID: 2a8fc6ea-a550-4437-9e35-3b3f2776788a
-:END:
-[
 #+begin_src emacs-lisp
 (defun newline-anywhere-previous ()
   "Add a newline from anywhere in the line."
@@ -8017,169 +5419,58 @@ open newline on previous line
   (newline-and-indent))
 (global-set-key (kbd "<C-M-return>") 'newline-anywhere-previous)
 #+end_src
-]
 *** C-S-return
-:PROPERTIES:
-:CUSTOM_ID: 787cc59e-ce0f-4291-a9d5-fd4e14b0b83b
-:END:
-*** [C-space]                                                         :drill:
-SCHEDULED: <2014-03-18 Tue>
-:PROPERTIES:
+*** C-space]
 org-edit-special
-:CUSTOM_ID: 132daa1a-8e5f-47f1-a28d-35bee873aeac
-:ID:       3204f2ca-10b2-469b-8b70-fb660e35478a
-:DRILL_LAST_INTERVAL: 41.7787
-:DRILL_REPEATS_SINCE_FAIL: 3
-:DRILL_TOTAL_REPEATS: 3
-:DRILL_FAILURE_COUNT: 0
-:DRILL_AVERAGE_QUALITY: 4.667
-:DRILL_EASE: 4.583
-:DRILL_LAST_QUALITY: 4
-:DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:44>
-:END:
-org-edit-special
-[
 #+begin_src emacs-lisp
 ;; (kbd "<C-space>") does not work, (kbd "C-SPC") should work
 (add-hook 'org-mode-hook
           (lambda ()
             (define-key org-mode-map (kbd "C-SPC") 'org-edit-special)
+            ;; org-src-mode-map is broken in git version of emacs.
+            ;; temporarily use this for exiting edit-special mode.
+            (global-set-key (kbd "C-M--") 'org-edit-src-exit)
             (define-key org-src-mode-map (kbd "C-SPC") 'org-edit-src-exit)))
 #+end_src
-]
 *** M-space
-:PROPERTIES:
-:CUSTOM_ID: bbffb12e-03f2-4a26-a9e4-fd263ad6b518
-:END:
 *** C-M-space
-:PROPERTIES:
-spell check word
-:CUSTOM_ID: 02359b66-bf6e-4f41-9f03-e83fcbe3e68c
-:END:
-    [
     before or under cursor
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-SPC") 'ispell-word)
 #+end_src
-    ]
 *** C-S-space
-:PROPERTIES:
-:CUSTOM_ID: a28e904f-f2bd-48d3-9718-af3f541e611e
-:END:
 ** left secondary
 *** C-=
-:PROPERTIES:
-:CUSTOM_ID: 6b01dcdd-d1c1-4e3f-9e28-9c3574682f95
-:END:
 *** M-=
-:PROPERTIES:
-:CUSTOM_ID: 6a63486f-ea5b-4ece-a535-5277022e0cde
-:END:
 *** C-M-=
-:PROPERTIES:
-:CUSTOM_ID: 1e245ef6-5bdb-4f99-b8e2-f5d45a7c0847
-:END:
 *** C-S-=
-:PROPERTIES:
-:CUSTOM_ID: 0f9aa2b8-83c7-433c-80e0-f90ee802365f
-:END:
 *** C-1
-:PROPERTIES:
-:CUSTOM_ID: 06374c1c-025b-47c2-90b2-82f37031093b
-:END:
 *** M-1
-:PROPERTIES:
-:CUSTOM_ID: 51810ebd-52f3-4e68-9434-e2347a834787
-:END:
 *** C-M-1
-:PROPERTIES:
-:CUSTOM_ID: 9207526f-a925-4ecc-bd30-98cbd580d67a
-:END:
 *** C-S-1
-:PROPERTIES:
-:CUSTOM_ID: 58a7a929-50b5-4393-9b08-59ad2039b263
-:END:
 *** C-4
-:PROPERTIES:
-:CUSTOM_ID: 24a0c3c4-bce7-4a94-8a31-e5259387c573
-:END:
 *** M-4
-:PROPERTIES:
-:CUSTOM_ID: 2d4fa927-2140-424b-9990-e8f2c3424e57
-:END:
-*** C-M-4                                                             :drill:
+*** C-M-4
 widen
-[
-:PROPERTIES:
-:CUSTOM_ID: 3ff50f5f-f286-4a73-962b-58dbcf3b09b1
-:ID:       addc832b-5547-4d45-a1f5-3e9283920612
-:END:
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-4") 'widen)
 #+end_src
-]
 *** C-S-4
-:PROPERTIES:
-:CUSTOM_ID: ba9ed568-7ba1-4283-b4c7-57fcb9a5a477
-:END:
 *** C-5
-:PROPERTIES:
-:CUSTOM_ID: 83bc2d8a-a225-4b6f-ab98-f47aa6d1e73f
-:END:
 *** M-5
-:PROPERTIES:
-:CUSTOM_ID: 1b8f04c3-91b5-43cd-8a1a-94c8105eff24
-:END:
 *** C-M-5
-:PROPERTIES:
-:CUSTOM_ID: fab28de6-7fe4-45d7-a856-5d29a9085f5d
-:END:
 *** C-S-5
-:PROPERTIES:
-:CUSTOM_ID: b22cdf04-bc77-493b-a65c-5992befc1a62
-:END:
-*** [C-tab-key]                                                       :drill:
-SCHEDULED: <2014-03-12 Wed>
-:PROPERTIES:
-query-replace
-:CUSTOM_ID: 68313551-90cd-47a6-8170-1745348add17
-:ID:       5b315ca6-c623-4b23-bef3-31b325591d01
-:DRILL_LAST_INTERVAL: 20.9905
-:DRILL_REPEATS_SINCE_FAIL: 4
-:DRILL_TOTAL_REPEATS: 4
-:DRILL_FAILURE_COUNT: 2
-:DRILL_AVERAGE_QUALITY: 3.5
-:DRILL_EASE: 2.73
-:DRILL_LAST_QUALITY: 3
-:DRILL_LAST_REVIEWED: <2014-02-19 Wed 16:32>
-:END:
+*** C-tab-key]
 query-replace
-[
 #+begin_src emacs-lisp
 
   (global-set-key (kbd "<C-kp-add>") 'query-replace)
 #+end_src
-]
 *** M-tab-key
 *** C-M-tab-key
 *** C-S-tab-key
-*** [C-t]                                                             :drill:
-SCHEDULED: <2014-03-24 Mon>
-    :PROPERTIES:
-    org change todo state
-    :ID:       b9a6ec32-9b64-403f-be09-73769f778d1f
-    :CUSTOM_ID: aaac3048-9125-4fd5-b8f2-21bafcc1ff1c
-    :DRILL_LAST_INTERVAL: 32.7466
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.0
-    :DRILL_EASE: 3.204
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:53>
-    :END:
+*** C-t]
 org cycle todo / toggle comint motion
-    [
 #+begin_src emacs-lisp
 (add-hook 'org-mode-hook
           (lambda ()
@@ -8232,132 +5523,57 @@ Thanks for the update. I will be enjoying it.
 
 #+RESULTS:
 : comint-toggle-arrow-keys
-    ]
 *** M-t
-:PROPERTIES:
-:CUSTOM_ID: 4542dc3a-d876-4726-8c8e-61c7c9cecd64
-:END:
-*** [C-M-t]                                                           :drill:
-SCHEDULED: <2014-03-15 Sat>
-    :PROPERTIES:
-    org insert timestamp
-    :ID:       ed43d561-cf73-4123-8cf2-12e184f99e0f
-    :CUSTOM_ID: 5bc609b1-9428-4b82-a55d-811fefe65331
-    :DRILL_LAST_INTERVAL: 23.5247
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 3.5
-    :DRILL_EASE: 2.73
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-02-19 Wed 17:41>
-    :END:
+*** C-M-t]
 org timestamp
-    [
 #+begin_src emacs-lisp
 (global-set-key (kbd "C-M-t") 'org-time-stamp-with-time)
 #+end_src
-]
 *** C-S-t
-:PROPERTIES:
-:CUSTOM_ID: 6a6fcd06-5822-4a3d-8e2e-1fc0f64357b2
-:END:
 *** C-home
-:PROPERTIES:
-:CUSTOM_ID: 1919659a-b466-4519-9276-8bf06a916066
-:END:
 start of buffer
 *** M-home
-:PROPERTIES:
-:CUSTOM_ID: 29a3b536-201d-4499-b131-afe58e6f45b4
-:END:
 *** C-M-home
-:PROPERTIES:
-:CUSTOM_ID: d9df9b43-357a-43e1-bb1c-47d61f095738
-:END:
 *** C-S-home
-:PROPERTIES:
-:CUSTOM_ID: a91ee772-a59c-4083-a65c-6f9b294b517c
-:END:
 *** C-end
-:PROPERTIES:
-:CUSTOM_ID: 0a7bd629-cbcc-4761-8fe2-cc9370b985a4
-:END:
 end of buffer
 *** M-end
-:PROPERTIES:
-:CUSTOM_ID: 1c215db5-a50c-4718-868a-871d69acf117
-:END:
 *** C-M-end
-:PROPERTIES:
-:CUSTOM_ID: cf2df317-a0b1-41e6-9919-67e77bb796f8
-:END:
 *** C-S-end
-:PROPERTIES:
-:CUSTOM_ID: a4721bb0-9cbc-4f3c-b292-645d5121c839
-:END:
 *** C-f9
-:PROPERTIES:
-:CUSTOM_ID: 014536d9-68e3-46f5-9594-e74fe64f4d9e
-:END:
 *** M-f9
-:PROPERTIES:
-:CUSTOM_ID: 6dee0f1b-3680-4a72-8a80-e31b9c7c219d
-:END:
 *** C-M-f9
-:PROPERTIES:
-:CUSTOM_ID: f5e835dd-e2b8-42eb-b7f1-9ec76c7dfcb8
-:END:
 *** C-S-f9
-:PROPERTIES:
-:CUSTOM_ID: c3aba493-9e85-40b7-989d-7e17ba2b55a7
-:END:
 ** right secondary
 *** C-6
-:PROPERTIES:
-:CUSTOM_ID: e44e584b-d925-4036-9ad5-a90d02e74bef
-:END:
 save-buffers-kill-emacs
-[
 #+begin_src emacs-lisp
 (global-set-key (kbd "C-6") 'save-buffers-kill-emacs)
 #+end_src
-]
 *** M-6
-*** [C-M-6]                                                           :drill:
-:PROPERTIES:
-:CUSTOM_ID: da73de75-0914-4f48-81d5-9b408433b14b
-:ID:       bcf78e2e-810e-4a6d-9056-bd488aaa373b
-:END:
+*** C-M-6]
   insert-small-copyright
-[
 #+begin_src emacs-lisp
 (defun insert-small-copyright ()
     (interactive)
     (beginning-of-line)
     (let ((beg (point)))
-      (insert "Copyright (C) 2016 Ian Kelling\nThis program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>")
+      (insert "Copyright (C) 2017 Ian Kelling\nThis program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>")
       (comment-region beg (point))))
 
   (global-set-key (kbd "C-M-6") 'insert-small-copyright)
 #+end_src
-]
 *** C-S-6
 *** C-7
 *** M-7
-*** [C-M-7]              :drill:
-:PROPERTIES:
-:CUSTOM_ID: a68c6b8e-9911-475e-ab35-e239771fe881
-:ID:       ae9704b8-1492-4dc0-806a-dd3407526733
-:END:
+*** C-M-7]
 insert-full-copyright
-[
 #+begin_src emacs-lisp
 (defun insert-full-copyright ()
   (interactive)
   (beginning-of-line)
   (let ((beg (point)))
-    (insert "Copyright (C) 2016 Ian Kelling\n")
+    (insert "Copyright (C) 2017 Ian Kelling\n")
     (insert "\n")
     (insert "This program is free software: you can redistribute it and/or modify\n")
     (insert "it under the terms of the GNU General Public License as published by\n")
@@ -8376,40 +5592,24 @@ insert-full-copyright
 (global-set-key (kbd "C-M-7") 'insert-full-copyright)
 
 #+end_src
-]
 *** C-S-7
-:PROPERTIES:
-:CUSTOM_ID: 05f5737b-a320-403c-a8f1-fa0a02f679e1
-:END:
 *** C-0
-:PROPERTIES:
-:CUSTOM_ID: 96ae2fcc-3a0c-40c4-aef8-06aff3fd42be
-:END:
 text-scale-reset
-[
 #+begin_src emacs-lisp
 (defun text-scale-reset ()
   (interactive)
   (text-scale-set 0))
 (global-set-key (kbd "C-0") 'text-scale-reset)
 #+end_src
-]
 *** M-0
-:PROPERTIES:
-:CUSTOM_ID: c5735fdf-d0d9-468c-917c-3936e409a2bc
-:END:
 *** C-M-0
-:PROPERTIES:
-:CUSTOM_ID: 0e7f83a5-600e-4016-af98-95904300c016
-:END:
 insert-apache
-[
 #+begin_src emacs-lisp
 (defun insert-apache ()
   (interactive)
   (beginning-of-line)
   (let ((beg (point)))
-    (insert "Copyright (C) 2016 Ian Kelling\n")
+    (insert "Copyright (C) 2017 Ian Kelling\n")
     (insert "\n")
     (insert "Licensed under the Apache License, Version 2.0 (the \"License\");\n")
     (insert "you may not use this file except in compliance with the License.\n")
@@ -8425,154 +5625,49 @@ insert-apache
     (comment-region beg (point))))
 (global-set-key (kbd "C-M-0") 'insert-apache)
 #+end_src
-]
 
 *** C-S-0
-:PROPERTIES:
-:CUSTOM_ID: d1706bc7-7cf0-4b49-87d0-15bf76eaca5f
-:END:
 *** C--
-:PROPERTIES:
-:CUSTOM_ID: 3713b701-b31a-4612-b663-f232005b4122
-:END:
 *** M--
-:PROPERTIES:
-:CUSTOM_ID: ca833b78-b279-4d1f-b1c9-6c70fdf20f57
-:END:
 *** C-M--
-:PROPERTIES:
-:CUSTOM_ID: 6febc7ea-9cc7-488c-af34-538b8e69633b
-:END:
+org-edit-src-exit
 *** C-S--
-:PROPERTIES:
-:CUSTOM_ID: c73af1d7-61f2-4c1b-935e-43f077d8d915
-:END:
-*** [C-y]                                                             :drill:
-SCHEDULED: <2014-03-27 Thu>
-    :PROPERTIES:
-    :ID:       4c0f74f8-04ed-40d8-8ec3-6e2bed03c2b9
-    :CUSTOM_ID: 97aee7f1-3647-4602-a65a-45e8a3aa3a7c
-    :DRILL_LAST_INTERVAL: 50.6823
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 3
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 5.0
-    :DRILL_EASE: 5.815
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-04 Tue 11:45>
-    :END:
+*** C-y]
     undo-tree-redo
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-y") 'undo-tree-redo)
 #+end_src
 
-    ]
 *** M-y
-:PROPERTIES:
-:CUSTOM_ID: 35072ca8-7fd6-4a64-bc7a-2636de575bd1
-:END:
 *** C-M-y
 *** C-S-y
-:PROPERTIES:
-:CUSTOM_ID: 964fa784-37e3-48c6-af4b-c7e91f67a93a
-:END:
 *** C-\
-    :PROPERTIES:
-    sr-speedbar-toggle
-    :CUSTOM_ID: b8ad3ee9-7bf6-4069-a300-49cd298008a7
-    :END:
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-\\") 'sr-speedbar-toggle)
 #+end_src
-    ]
 *** M-\
-:PROPERTIES:
-:CUSTOM_ID: c1d53d84-b8a9-49cb-bfd6-4420931c8873
-:END:
-*** [C-M-\]                                                           :drill:
-SCHEDULED: <2014-03-21 Fri>
-    :PROPERTIES:
-    mark-defun
-    :ID:       d45bce17-45bc-41f0-8994-aa7bc3b2fa92
-    :CUSTOM_ID: 6a583354-48f8-4503-bf87-b8ba56411435
-    :DRILL_LAST_INTERVAL: 11.7003
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 9
-    :DRILL_FAILURE_COUNT: 6
-    :DRILL_AVERAGE_QUALITY: 2.815
-    :DRILL_EASE: 2.369
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:36>
-    :END:
+*** C-M-\]
 mark-defun
-    [
 #+begin_src emacs-lisp
   (global-set-key (kbd "C-M-\\") 'mark-defun)
 #+end_src
-    ]
 *** C-S-\
-:PROPERTIES:
-:CUSTOM_ID: 30edfb48-852f-4f2c-ba38-2635927d4950
-:END:
 *** C-h
-:PROPERTIES:
-:CUSTOM_ID: 3c5f241f-fc62-459d-ab85-6b7c1fb04801
-:END:
 help-prefix
 
 *** M-h
-:PROPERTIES:
-:CUSTOM_ID: 6df13b90-490b-4cca-a49d-4f2e3ce5bea3
-:END:
 *** C-M-h
-:PROPERTIES:
-:CUSTOM_ID: 47f0d1f3-78ea-49d7-a6d7-06627ca745bd
-:END:
 *** C-S-h
-:PROPERTIES:
-:CUSTOM_ID: 3be3db5c-9905-474b-b773-1aee515625f5
-:END:
 *** C-'
-:PROPERTIES:
-:CUSTOM_ID: 9f252721-a2d5-46c6-b268-8ed597256229
-:END:
 eval-expression
-[
 #+begin_src emacs-lisp
 (global-set-key (kbd "C-'") 'eval-expression)
 #+end_src
-]
 *** M-'
-:PROPERTIES:
-:CUSTOM_ID: f00b9c88-68bb-4831-872f-afb5ff82c104
-:END:
 *** C-M-'
-:PROPERTIES:
-:CUSTOM_ID: 0d39d36c-115a-4570-b4b1-818718409a49
-:END:
 *** C-S-'
-:PROPERTIES:
-:CUSTOM_ID: 230f50ef-48fd-4f13-aa62-e4a492c4515d
-:END:
-*** [C-n]                                                             :drill:
-SCHEDULED: <2014-04-07 Mon>
-    :PROPERTIES:
-    unpop-to-mark-command
-    :CUSTOM_ID: 52ebb720-589b-485c-89dc-0dfb78e6dad4
-    :ID:       32f1c87d-ee1f-4117-8059-32fd8facbeff
-    :DRILL_LAST_INTERVAL: 42.8284
-    :DRILL_REPEATS_SINCE_FAIL: 4
-    :DRILL_TOTAL_REPEATS: 4
-    :DRILL_FAILURE_COUNT: 0
-    :DRILL_AVERAGE_QUALITY: 4.5
-    :DRILL_EASE: 4.122
-    :DRILL_LAST_QUALITY: 5
-    :DRILL_LAST_REVIEWED: <2014-02-23 Sun 01:51>
-    :END:
+*** C-n]
 unpop to mark
-    [
     #+begin_src emacs-lisp
       (defun unpop-to-mark-command ()
         "Unpop off mark ring. Does nothing if mark ring is empty."
@@ -8588,185 +5683,146 @@ unpop to mark
 
       (global-set-key (kbd "C-n") 'unpop-to-mark-command)
 #+end_src
-]
 *** M-n
-:PROPERTIES:
-:CUSTOM_ID: 00c2ab64-696d-4492-8236-f7ebc12e4a93
-:END:
-*** [C-M-n]                                                           :drill:
-SCHEDULED: <2014-03-17 Mon>
-    :PROPERTIES:
-    narrow-to-region
-    :ID:       59e48dcc-434b-4c96-bdb3-c083c41ae8b3
-    :CUSTOM_ID: 43997316-8d3f-4750-873b-ade09628fdd5
-    :DRILL_LAST_INTERVAL: 7.6409
-    :DRILL_REPEATS_SINCE_FAIL: 3
-    :DRILL_TOTAL_REPEATS: 8
-    :DRILL_FAILURE_COUNT: 4
-    :DRILL_AVERAGE_QUALITY: 2.59
-    :DRILL_EASE: 2.261
-    :DRILL_LAST_QUALITY: 3
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:34>
-    :END:
+*** C-M-n]
 narrow-to-region
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "C-M-n") 'narrow-to-region)
 #+end_src
-]
 *** C-S-n
-:PROPERTIES:
-:CUSTOM_ID: f01c2c61-f606-49ea-885a-63a831eaae3d
-:END:
 *** C-rshift
 *** M-rshift
 *** C-M-rshift
 *** C-S-rshift
-*** [C-escape]                                                        :drill:
-SCHEDULED: <2014-04-05 Sat>
-    :PROPERTIES:
+*** C-escape]
     find-tag
     :ID:       a6dd7e4c-1831-4493-bbfd-557dc2f9c856
     :CUSTOM_ID: 6901fa1b-c827-4525-b24b-bdb8fe5f638b
-    :DRILL_LAST_INTERVAL: 27.3693
-    :DRILL_REPEATS_SINCE_FAIL: 5
-    :DRILL_TOTAL_REPEATS: 6
-    :DRILL_FAILURE_COUNT: 2
-    :DRILL_AVERAGE_QUALITY: 3.417
-    :DRILL_EASE: 2.676
-    :DRILL_LAST_QUALITY: 4
-    :DRILL_LAST_REVIEWED: <2014-03-09 Sun 18:37>
+
+
+
+
+
+
+
+
     :END:
 find-tag
-    [
 #+begin_src emacs-lisp
     (global-set-key (kbd "<C-escape>") 'find-tag)
 #+end_src
-    ]
 *** M-escape
-    :PROPERTIES:
-    :ID:       7224837b-addc-4c82-8313-467c6dcb7a52
-    :CUSTOM_ID: f505f1b9-82f6-4139-9e3e-78df548175ec
-    :END:
 *** C-M-escape
-:PROPERTIES:
-:CUSTOM_ID: d77136c5-4aec-4f02-8b4b-e417249fbac1
-:END:
 *** C-S-escape
-:PROPERTIES:
-:CUSTOM_ID: d61ae40a-3f2d-4ef6-a515-8864a7d7c8ea
-:END:
 * keybind table src
-  :PROPERTIES:
-  :CUSTOM_ID: ff8f3092-187a-4b2c-940f-01743f7a51b6
-  :END:
 not necessary to have at the end, but its convenient to have it next
 to its output.
   #+NAME: keybind-table-generator
 #+BEGIN_SRC emacs-lisp :results silent
-  (defun org-custom-id-get (&optional pom create prefix)
-    "Get the CUSTOM_ID property of the entry at point-or-marker POM.
+(defun org-custom-id-get (&optional pom create prefix)
+  "Get the CUSTOM_ID property of the entry at point-or-marker POM.
               If POM is nil, refer to the entry at point.
               If the entry does not have a CUSTOM_ID, the function returns nil.
               However, when CREATE is non nil, create an ID if none is present already.
               PREFIX will be passed through to `org-id-new'.
               In any case, the CUSTOM_ID of the entry is returned."
-    (org-with-point-at pom
-      (let ((id (org-entry-get nil "CUSTOM_ID")))
-        (cond
-         ((and id (stringp id) (string-match "\\S-" id))
-          id)
-         (create
-          (setq id (org-id-new prefix))
-          (org-entry-put pom "CUSTOM_ID" id)
-          (org-id-add-location id (buffer-file-name (buffer-base-buffer)))
-          id)))))
-
-  (defun get-title()
-    (interactive)
-    (let ((title (plist-get (cadr (org-element-at-point)) ':title)))
-      ;; remove brackets from [title]
-      (string-match "[^[ ][^]]*" title)
-      (setq title (match-string 0 title))
-      (print title)
-      title))
-
-
-  (defun org-dblock-write:keybind-dblock (arg)
-    (let (output)
-      (save-excursion
-        (goto-char (org-find-entry-with-id "beginning-of-keybind-table-data"))
-        (let* ((table-level (org-current-level))
-               (keybind-level (1+ table-level))
-               (prefixes (list "C-M-S-" "C-M-" "C-S-" "M-S-" "M-"  "C-" "S-"))
-               table-title
-               previous-prefixes
-               )
-          (while (>= (org-current-level) table-level)
-            (setq table-title (get-title))
-            (outline-next-heading)
-            (let (found-prefixes
-                  found-all-prefixes)
-              ;; go through the first few elements of the table to find out what column headings aka prefixes it should have
-              (save-excursion
-                (while (not found-all-prefixes)
-                  (let ((prefixes-copy prefixes)
-                        current-prefix
-                        found-prefix)
-                    (while (and prefixes-copy (not found-prefix))
-                      (setq current-prefix (car prefixes-copy))
-                      (when (and (> (length (get-title)) (length current-prefix))
-                                 (string= (substring (get-title) 0 (length current-prefix)) current-prefix))
-                        (setq found-prefix t))
-                      (setq prefixes-copy (cdr prefixes-copy)))
-                    (unless found-prefix
-                      (setq current-prefix ""))
-                    (if (and found-prefixes (string= (car (last found-prefixes)) current-prefix))
-                        (setq found-all-prefixes t)
-                      (push current-prefix found-prefixes)))
-                  (outline-next-heading)))
-              (setq found-prefixes (reverse found-prefixes))
-
-              ;; start a new table or repeat the prefixes in the current table
-
-              (if (or (not previous-prefixes) (equal previous-prefixes found-prefixes))
-                  (setq output (concat output "|-|\n| "))
-                (setq output (concat output "|-|\n\n|-|\n| ")))
-              (setq output (concat output table-title " | "))
-              (setq previous-prefixes found-prefixes)
-
-              ;; add the prefixes
-              (dolist (prefix found-prefixes)
-                (setq output (concat output prefix "|")))
-              (setq output (concat output "\n|-|\n"))
-
-
-              (let (subtree-end)
-                (while (>= (org-current-level) keybind-level)
-                  (dotimes (i (length found-prefixes))
-                    ;; add keybind name
-                    (when (= i 0)
-                      (setq output (concat output "| " (substring (get-title) (length (car found-prefixes))) " | ")))
-                    ;; add keybinds by searching for regex [keybind] to the start of the next heading
-                    (save-excursion
-                      (outline-next-heading)
-                      (setq subtree-end (point)))
-;; skip over scheduled line
-                    (re-search-forward "^SCHEDULED:" subtree-end t)
-
-                    ;; see comment after source block to understand this regex
-                    (re-search-forward "^\\s-*\\([^*: ].*?$\\)" subtree-end t)
-                    (let ((m (match-string 1)))
-                      (when m
-                        (setq output (concat output "[[#" (org-custom-id-get (point) 'create) "][" m "]]")))
-                      (setq output (concat output " | ")))
-                    ;; advance to next keybind
-                    (outline-next-heading))
-                  (setq output (concat output "\n"))
-                  ))))))
-      (setq output (concat output "|-|"))
-      (insert output))
-    (org-table-map-tables 'org-table-align 'quietly))
+  (org-with-point-at pom
+    (let ((id (org-entry-get nil "CUSTOM_ID")))
+      (cond
+       ((and id (stringp id) (string-match "\\S-" id))
+        id)
+       (create
+        (setq id (org-id-new prefix))
+        (org-entry-put pom "CUSTOM_ID" id)
+        (org-id-add-location id (buffer-file-name (buffer-base-buffer)))
+        id)))))
+
+(defun get-title()
+  (interactive)
+  (let ((title (plist-get (cadr (org-element-at-point)) ':title)))
+    ;; remove brackets from [title]
+    ;; I was at one point using org-drill for spaces repitition,
+    ;; and enclosed question and answer by 2 sets of brackets.
+    (string-match "[^[ ][^]]*" title)
+    (setq title (match-string 0 title))
+    (print title)
+    title))
+
+
+(defun org-dblock-write:keybind-dblock (arg)
+  (let (output)
+    (save-excursion
+      (goto-char (org-find-entry-with-id "beginning-of-keybind-table-data"))
+      (let* ((table-level (org-current-level))
+             (keybind-level (1+ table-level))
+             (prefixes (list "C-M-S-" "C-M-" "C-S-" "M-S-" "M-"  "C-" "S-"))
+             table-title
+             previous-prefixes
+             )
+        (while (>= (org-current-level) table-level)
+          (setq table-title (get-title))
+          (outline-next-heading)
+          (let (found-prefixes
+                found-all-prefixes)
+            ;; go through the first few elements of the table to find out what column headings aka prefixes it should have
+            (save-excursion
+              (while (not found-all-prefixes)
+                (let ((prefixes-copy prefixes)
+                      current-prefix
+                      found-prefix)
+                  (while (and prefixes-copy (not found-prefix))
+                    (setq current-prefix (car prefixes-copy))
+                    (when (and (> (length (get-title)) (length current-prefix))
+                               (string= (substring (get-title) 0 (length current-prefix)) current-prefix))
+                      (setq found-prefix t))
+                    (setq prefixes-copy (cdr prefixes-copy)))
+                  (unless found-prefix
+                    (setq current-prefix ""))
+                  (if (and found-prefixes (string= (car (last found-prefixes)) current-prefix))
+                      (setq found-all-prefixes t)
+                    (push current-prefix found-prefixes)))
+                (outline-next-heading)))
+            (setq found-prefixes (reverse found-prefixes))
+
+            ;; start a new table or repeat the prefixes in the current table
+
+            (if (or (not previous-prefixes) (equal previous-prefixes found-prefixes))
+                (setq output (concat output "|-|\n| "))
+              (setq output (concat output "|-|\n\n|-|\n| ")))
+            (setq output (concat output table-title " | "))
+            (setq previous-prefixes found-prefixes)
+
+            ;; add the prefixes
+            (dolist (prefix found-prefixes)
+              (setq output (concat output prefix "|")))
+            (setq output (concat output "\n|-|\n"))
+
+
+            (let (subtree-end)
+              (while (>= (org-current-level) keybind-level)
+                (dotimes (i (length found-prefixes))
+                  ;; add keybind name
+                  (when (= i 0)
+                    (setq output (concat output "| " (substring (get-title) (length (car found-prefixes))) " | ")))
+                  ;; add keybinds by searching for regex [keybind] to the start of the next heading
+                  (save-excursion
+                    (outline-next-heading)
+                    (setq subtree-end (point)))
+                  ;; skip over scheduled line
+
+                  ;; see comment after source block to understand this regex
+                  (re-search-forward "^\\s-*\\([^*: ].*?$\\)" subtree-end t)
+                  (let ((m (match-string 1)))
+                    (when m
+                      (setq output (concat output "[[#" (org-custom-id-get (point) 'create) "][" m "]]")))
+                    (setq output (concat output " | ")))
+                  ;; advance to next keybind
+                  (outline-next-heading))
+                (setq output (concat output "\n"))
+                ))))))
+    (setq output (concat output "|-|"))
+    (insert output))
+  (org-table-map-tables 'org-table-align 'quietly))
 
 
 #+END_SRC
@@ -8776,129 +5832,132 @@ to its output.
       subexpression for close bracket char or nothing: \\(\\]\\|\\)
 
 * keybind tables
+:LOGBOOK:
+CLOCK: [2016-11-28 Mon 10:59]--[2016-11-28 Mon 10:59] =>  0:00
+:END:
 dunno why but it takes doing ctrl-c twice to update this
   #+BEGIN: keybind-dblock
-|---------------------+------------------------|
-| single/special keys |                        |
-|---------------------+------------------------|
-| tab key             | [[#6c10a716-1d8e-4ce4-8e26-64468f19c17a][isearch]]                |
-| tab                 | [[#51ece189-1840-41a1-8ca0-19f9a0481895][isearch-forward]]        |
-| end                 | [[#00d589b7-2b8e-494c-b761-3afefebe6ec6][move-end-of-line]]       |
-| home                | [[#7800e455-c3f6-4a8f-8907-b2292449ab67][back-to-indentation]]    |
-| s-tab               | [[#3072901e-5cf3-4d6e-9ac8-3ef64a5f6ad2][indent-buffer]]          |
-| s-delete            | [[#e53728b6-054d-4443-a03e-6cf02d13724d][send-shell]]             |
-| s-left arrow        | [[#d8c473ac-5507-4a6b-9e5a-46558c17b09f][shell]]                  |
-| s-right arrow       | [[#2365f5a7-b89a-4a97-b272-ac8ae9c2cc66][previous-buffer]]        |
-| esc                 |                        |
-| return              | [[#fab6adea-ed20-45ab-a0a3-776c68d5c3a5][new line]]               |
-| s-return            | [[#819cfb55-3a2f-4f20-8591-f819d1a6869a][auto-correct-prev-word]] |
-| down arrow          | [[#7a868484-9c63-4a73-abda-7751cb2c02be][mark]]                   |
-| s-down arrow        | [[#097b97e0-8ad8-40f7-8388-c4ace1706b38][extended command]]       |
-| s-up arrow          |                        |
-|---------------------+------------------------|
-
-|-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------------+-------------|
-| mouse             |                            | C-                              | M-                 | S-            | C-M-              | C-S-        |
-|-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------------+-------------|
-| mouse-2 mode line | [[#69aaa631-6fb5-4beb-b2d8-c0f3d92c0a98][mouse-delete-other-windows]] | [[#501479ab-e1e2-497e-bd86-071f8afa3378][mouse-split-window-horizontally]] |                    |               |                   |             |
-| mouse-3 mode line | [[#917a1844-8c38-4f31-8616-50fc81334f2c][mouse-delete-window]]        |                                 |                    |               |                   |             |
-| mouse-1           | [[#4e60e2e4-8c2f-4450-8060-2d793ede530c][set cursor/mark]]            | [[#b661f84f-57df-4095-9dc1-d1a876a53ee5][buffer list context menu]]        |                    |               |                   |             |
-| mouse-2           | [[#086b0b50-054f-462d-92fa-b27852f887b0][paste]]                      |                                 |                    |               |                   |             |
-| mouse-3           | [[#0481632e-9c50-4328-9365-c4b5bf967b66][set-mark]]                   | [[#9623c78f-7705-4cbe-a990-c24eb1067377][global menu]]                     |                    |               |                   |             |
-| mouse-9           | [[#efaec161-b279-4129-86fd-b410430926e4][move-mouse-to-point]]        |                                 |                    |               |                   |             |
-| mouse-8           |                            |                                 |                    |               |                   |             |
-| 1/kp-end          |                            |                                 |                    |               |                   |             |
-| 2/kp-down         |                            |                                 |                    |               |                   |             |
-| 3/kp-next         |                            |                                 |                    |               |                   |             |
-| 4/kp-left         | [[#c44d0f65-9502-4cc6-9642-96d907f6b093][indent-region]]              |                                 |                    |               |                   |             |
-| 5/kp-begin        | [[#2458c6bc-7113-4d4b-bbdf-206e1cb842a7][mark-defun]]                 |                                 |                    |               |                   |             |
-| 6/kp-right        | [[#3b79bc58-6067-43bd-9471-9d592744a25a][ibuffer]]                    |                                 |                    |               |                   |             |
-| 7/kp-home         |                            |                                 |                    |               |                   |             |
-| 8/kp-up           |                            |                                 |                    |               |                   |             |
-| 9/kp-prior        | [[#a3b51adb-4405-4d9f-9b88-a8faa479fbe7][delete-horizontal-space]]    |                                 |                    |               |                   |             |
-| 10/kp-insert      |                            |                                 |                    |               |                   |             |
-| 11/kp-subtract    |                            |                                 |                    |               |                   |             |
-| 12/kp-add         |                            |                                 |                    |               |                   |             |
-| scroll            | [[#33433f0f-5b0e-46ba-8452-d2a51e54769b][up/dn / scroll]]             | [[#16506ba5-e8f2-4aec-bc1b-d2854d4e504c][cycle recent buffers]]            | [[#e1e2e253-450d-4620-af9e-78d378f49ad5][forward/back s-exp]] | [[#74b2196a-345d-453a-b7be-1915360eb201][expand region]] | [[#bd2ca117-408c-49fc-a5ac-a938be21dfc0][scroll]]            | [[#a69254a4-cf2d-450f-b477-2694b44a7e0d][zoom]]        |
-| left-scroll       | [[#d2d5c5c7-f0de-4e08-953b-d41d3e282ba7][left/right]]                 | [[#7bb95aa5-381e-454a-a6c6-aaeec728db08][back / forward word]]             | [[#49db3764-b154-4cfc-8d0d-f0e0451815e3][winner undo redo]]   | [[#ca5cdcd4-b3da-4d7b-86ab-4c7c0ac2caf7][---]]           | [[#32c00bb2-3e5a-4670-8849-04d23b9f8364][forward/back sexp]] | [[#7b4f1f49-6d93-4210-a30c-8278d6e63655][unreachable]] |
-|-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------------+-------------|
-
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| left primary    | C-                             | M-                              | C-M-                          | C-S-                     |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| 2               | [[#4f29b011-3844-4a4a-b75d-cdf8f49e9adb][narrow-to-defun/subtree]]        |                                 | [[#33c4996d-92bc-4df0-b005-11553677be13][---]]                           |                          |
-| 3               | [[#7851a05e-7177-4a8f-af5a-3325a8f116fe][dot-mode-execute]]               |                                 | [[#9a00e17f-a1c9-48fc-b03b-c6a1a3cbda1c][recenter-top-bottom]]           |                          |
-| q               | [[#679fd3cd-c43b-409c-be36-4175a5f27cd3][org-cycle, comint previous arg]] | [[#72bada0e-5d62-4a8f-ae62-4972778ff1bc][org-archive-to-archive-sibling]]  | [[#1f5e9b63-7ce0-445c-a426-b41839585d38][quoted-insert]]                 |                          |
-| w               | [[#20005b6d-9a9d-4b58-882c-7ce860c7a395][goto-t.org]]                     | [[#331da6e5-7936-4663-8f58-9d8601b5915c][org-clock-in]]                    |                               |                          |
-| e               | [[#24e34f4b-d1e8-4380-933f-ab1f78ebc782][copy-line]]                      | [[#0a771449-0cd5-4dc9-82ca-bcac5f7abd17][org-clock-in-last]]               |                               |                          |
-| r               | [[#5c55f461-f43f-493d-81eb-1ca747175ef1][isearch-backward]]               | [[#dd9575bd-e471-418e-9519-4fc2b874ddcd][org-clock-out]]                   |                               |                          |
-| a               | [[#db4b76df-9420-4256-8242-dc44b56d55d7][copy-all]]                       | [[#e865a1e5-55bf-4a98-a0d0-cb05a88de352][kmacro-start-macro-or-in...]]     | [[#c6278a5a-024f-4c80-a8d4-65f127fd24a8][kmacro-end-or-call-macro]]      |                          |
-| s               | [[#01da04da-cdba-493f-892b-c4c064cf937e][C-x prefix]]                     |                                 | [[#4b33022d-27f0-4d21-9931-2e2e692790e8][split-window-vertically]]       |                          |
-| d               | [[#b699614a-9994-4fe7-b2c6-f0fe81b7ad2b][C-c prefix]]                     | [[#06bcc5e2-f3a7-41c6-a793-ac6c9813fb6e][whitespace-cleanup]]              | [[#8cf6053d-792b-4abd-a3a6-66efd7fbee68][swap buffer]]                   |                          |
-| f               | [[#2695ed8a-e0d3-4e84-8688-98e3c50723b0][kill-whole-line]]                |                                 | [[#e7e4dd0b-418f-48ee-b366-9e733e3bec61][kill rest of line]]             |                          |
-| g               | [[#4af40595-7010-4be6-8cfe-a43797ca6e33][other-window / cancel]]          | [[#fb0b343f-fdff-463a-94f4-3152191e17c4][abort-recursive-edit]]            | [[#327e18af-30b7-47e5-aa53-5f678788b4c1][gnus]]                          |                          |
-| z               | [[#707c4938-a790-4da9-8230-61855ea57d09][undo-tree-undo]]                 |                                 |                               |                          |
-| x               | [[#ec1403d3-528e-41b1-a195-5563bc93e124][kill-region]]                    | [[#bb7c95d5-dd97-439d-bf1f-cdac98d11543][append-next-kill]]                | [[#c988370e-602c-431c-80a9-608459583f8b][append-next-kill]]              |                          |
-| c               | [[#400f06e1-8e45-443c-8d7b-3d1bb1176aab][copy]]                           | [[#f4c3317a-a317-4d04-8cb7-e46d0716bf1d][org-capture]]                     | [[#0a151d99-47ae-4e8f-8407-82e77d24a3e7][copy-to-register]]              |                          |
-| v               | [[#16411f68-7fe0-49e8-9a73-212471594f9e][yank]]                           | [[#d67f6371-a13f-4a75-8d8c-e4013ff4e131][insert-register]]                 | [[#25f86658-9999-40f7-b3a4-615981751b93][yank pop]]                      |                          |
-| b               | [[#e682305e-0110-4d2f-afbd-2c401bcb9313][delete-other-windows]]           | [[#05e3d0db-36dc-455f-8bed-f87886ca6004][isearch-backward-current-symbol]] | [[#6c63790c-28c1-4b73-96e2-ee859f57e734][isearch-current-symbol]]        |                          |
-| tab             | [[#edc45592-c69f-4439-8305-48f2c65696c3][yas-insert-snippet]]             | [[#71264957-45fd-455a-a6d1-b08823c02d25][indent line]]                     |                               |                          |
-| delete          | [[#2688b61d-9fdd-44af-b9bd-b126f0da00bd][kill-symbol]]                    |                                 | [[#21876759-a8e6-4896-8a08-eda40d0eaff3][kill-sexp]]                     |                          |
-| left-arrow      | [[#b15da91f-0786-49d1-b0b9-331b3b94f6ae][compile]]                        |                                 | [[#13faf5d4-34be-4363-948d-4ff04a9f570b][org-shiftup]]                   |                          |
-| right-arrow     | [[#3f3cac16-097d-451a-a14a-da7717d06730][paste selection]]                |                                 | [[#34e66314-1d97-4eeb-b704-fe0733849ae4][org-shiftdown]]                 |                          |
-| backspace       | [[#85bb4701-42e6-4617-8de8-dfb1f03b0358][backward-kill-symbol]]           |                                 | [[#606b0991-7431-4a8a-a909-b872e104cc88][backward-kill-sexp]]            |                          |
-| f7              |                                |                                 |                               |                          |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| right primary   | C-                             | M-                              | C-M-                          | C-S-                     |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| *               | [[#f745b337-8b65-44cc-849a-5e0953c9ebd9][split-window-horizontally]]      |                                 | [[#5dbe3437-7364-4802-b558-00b2d5faacf6][calc-dispatch]]                 |                          |
-| 9               | [[#43d14154-2722-4ba5-b547-1b78c6274ebf][delete-window-or-exit]]          | [[#9dc95338-4321-4354-9de2-69409f383a10][kill-buffer-and-window]]          | [[#ffe9f636-31e5-48ba-b8fe-7c158ace744c][kill client buffer]]            |                          |
-| u               | [[#327992c0-6eba-4935-aec1-49871c2a8619][universal-argument]]             |                                 | [[#62735d64-b89a-46b7-b32e-2453b651039d][search-keybind]]                |                          |
-| i               | [[#3124e200-1d6e-4ad2-9a36-0d03e1e7dc38][-----]]                          |                                 | [[#a3260b61-7c51-4d97-9a91-3ed702c5ae29][query-replace-regexp]]          |                          |
-| o               | [[#82215193-63b3-4d63-8f70-d11a328fe72d][occur]]                          |                                 | [[#05d1ef50-43ee-46d7-b1ad-dd952543ab45][ido-goto-symbol]]               |                          |
-| p               | [[#9c2e2ba9-f34e-48fe-b4ff-b9826882c1cc][move-mouse-to-point]]            |                                 | [[#d55616d3-a3f6-4e83-8807-748578a7b726][delete-horizontal-space]]       |                          |
-| j               | [[#ebcf7c71-3c93-431b-af6b-7c5df7f2945e][register prefix]]                | [[#474a3e12-95ac-4f43-b83a-36716f3e6f76][previous-error]]                  |                               |                          |
-| k               | [[#25a7ba1c-ddf3-47f1-9516-914a552e7a36][jump to register]]               | [[#a96691bb-9e4c-414b-a093-d9961d453e21][next-error]]                      | [[#f61ea4ea-4597-422e-b7e3-d3cfad82603d][man]]                           |                          |
-| l               | [[#8a7572bd-4b5e-4464-b937-3d35adb1783f][ido-switch-buffer]]              |                                 | [[#24b660d4-3ec4-4416-8a6a-b8224ed1ee8b][move cursor top bottom mid]]    |                          |
-| ;               | [[#7e3710eb-5460-4460-8bf0-488302e4ce35][comment-dwim]]                   |                                 | [[#28680a96-5223-4632-80b9-b1facdd541e7][comment-current-line-dwim]]     |                          |
-| m               | [[#deee53ba-dfa2-4910-894c-55ae98d11aa4][pop-to-mark]]                    |                                 | [[#f283f705-cba0-45db-b80f-5d20415b2eee][recursive grep]]                |                          |
-| ,               | [[#6cbf3a85-f260-453a-920b-850ff5e986b1][ido-find-file]]                  |                                 | [[#bfdf6111-029d-462b-bcca-50a3ed2162d5][find-file-in-project]]          |                          |
-| .               | [[#0675c171-8677-44a8-882c-e7ed42715e31][recentf-ido-find-file]]          |                                 | [[#824d422c-67b6-4d68-af11-6a2135e528f5][-]]                             |                          |
-| /               | [[#941a7fa8-84b9-434d-89a0-1487385ec479][join lines]]                     |                                 | [[#37f67593-4f60-4d3b-9aad-6c9bc4882443][copy-variable]]                 |                          |
-| 8               | [[#251c4a1a-a683-4804-a706-d0d3752e42fa][calc-embedded-word]]             |                                 |                               |                          |
-| up-arrow        | [[#f47d312a-063d-42ed-a352-176298a2cb0c][back defun/headline]]            |                                 |                               |                          |
-| down-arrow      | [[#27435136-b3d7-4f25-aa85-2a7363a7f366][forward dfun/headline]]          |                                 | [[#3bcb35fd-6d54-4213-b94f-2739c0bc0041][toggle-mark-activation]]        | [[#1434bdd0-c5a8-4c96-9b92-9474e88fd1c5][smex-major-mode-commands]] |
-| lbracket        | [[#9d9916dd-3280-47dd-aab1-cd28d5ebfe15][----]]                           |                                 | [[#7411b1a5-c8fa-4bcc-8788-798e5635dd62][scroll-right]]                  |                          |
-| rbracket        | [[#21b38c6b-3a46-4a08-8eca-d44abb148287][fill-paragraph]]                 |                                 | [[#c9c18f48-d0ca-4a1b-a751-7165f40118a3][scroll-left]]                   |                          |
-| return          | [[#baf7ea5a-d16d-4fee-a6ce-542cc11beb97][newline next line]]              | [[#e6895ad3-a2c8-46c8-abbc-1bba94a88596][non-indented newline]]            | [[#2a8fc6ea-a550-4437-9e35-3b3f2776788a][open newline on previous line]] |                          |
-| space           | [[#132daa1a-8e5f-47f1-a28d-35bee873aeac][org-edit-special]]               |                                 | [[#02359b66-bf6e-4f41-9f03-e83fcbe3e68c][spell check word]]              |                          |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| left secondary  | C-                             | M-                              | C-M-                          | C-S-                     |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| =               |                                |                                 |                               |                          |
-| 1               |                                |                                 |                               |                          |
-| 4               |                                |                                 | [[#3ff50f5f-f286-4a73-962b-58dbcf3b09b1][widen]]                         |                          |
-| 5               |                                |                                 |                               |                          |
-| tab-key         | [[#68313551-90cd-47a6-8170-1745348add17][query-replace]]                  |                                 |                               |                          |
-| t               | [[#aaac3048-9125-4fd5-b8f2-21bafcc1ff1c][org change todo state]]          |                                 | [[#5bc609b1-9428-4b82-a55d-811fefe65331][org insert timestamp]]          |                          |
-| home            | [[#1919659a-b466-4519-9276-8bf06a916066][start of buffer]]                |                                 |                               |                          |
-| end             | [[#0a7bd629-cbcc-4761-8fe2-cc9370b985a4][end of buffer]]                  |                                 |                               |                          |
-| f9              |                                |                                 |                               |                          |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| right secondary | C-                             | M-                              | C-M-                          | C-S-                     |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
-| 6               | [[#e44e584b-d925-4036-9ad5-a90d02e74bef][save-buffers-kill-emacs]]        |                                 | [[#da73de75-0914-4f48-81d5-9b408433b14b][insert-small-copyright]]        |                          |
-| 7               |                                |                                 | [[#a68c6b8e-9911-475e-ab35-e239771fe881][insert-full-copyright]]         |                          |
-| 0               |                                |                                 |                               |                          |
-| -               |                                |                                 |                               |                          |
-| y               | [[#97aee7f1-3647-4602-a65a-45e8a3aa3a7c][undo-tree-redo]]                 |                                 |                               |                          |
-| \               | [[#b8ad3ee9-7bf6-4069-a300-49cd298008a7][sr-speedbar-toggle]]             |                                 | [[#6a583354-48f8-4503-bf87-b8ba56411435][mark-defun]]                    |                          |
-| h               | [[#3c5f241f-fc62-459d-ab85-6b7c1fb04801][help-prefix]]                    |                                 |                               |                          |
-| '               | [[#9f252721-a2d5-46c6-b268-8ed597256229][eval-expression]]                |                                 |                               |                          |
-| n               | [[#52ebb720-589b-485c-89dc-0dfb78e6dad4][unpop-to-mark-command]]          |                                 | [[#43997316-8d3f-4750-873b-ade09628fdd5][narrow-to-region]]              |                          |
-| rshift          |                                |                                 |                               |                          |
-| escape          | [[#6901fa1b-c827-4525-b24b-bdb8fe5f638b][find-tag]]                       |                                 |                               |                          |
-|-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  |---------------------+------------------------|
+  | single/special keys |                        |
+  |---------------------+------------------------|
+  | tab key             | [[#6c10a716-1d8e-4ce4-8e26-64468f19c17a][isearch]]                |
+  | tab                 | [[#51ece189-1840-41a1-8ca0-19f9a0481895][isearch-forward]]        |
+  | end                 | [[#00d589b7-2b8e-494c-b761-3afefebe6ec6][move-end-of-line]]       |
+  | home                | [[#7800e455-c3f6-4a8f-8907-b2292449ab67][back-to-indentation]]    |
+  | s-tab               | [[#3072901e-5cf3-4d6e-9ac8-3ef64a5f6ad2][indent-buffer]]          |
+  | s-delete            | [[#e53728b6-054d-4443-a03e-6cf02d13724d][send-shell]]             |
+  | s-left arrow        | [[#d8c473ac-5507-4a6b-9e5a-46558c17b09f][shell]]                  |
+  | s-right arrow       | [[#cbae2b27-ff95-4b12-88e0-e1a0f7705db6][previous-buffer]]        |
+  | esc                 |                        |
+  | return              | [[#fab6adea-ed20-45ab-a0a3-776c68d5c3a5][new line]]               |
+  | s-return            | [[#c433c837-24fa-45e1-8991-a4d380550ea0][auto-correct-prev-word]] |
+  | down arrow          | [[#7a868484-9c63-4a73-abda-7751cb2c02be][mark]]                   |
+  | s-down arrow        | [[#097b97e0-8ad8-40f7-8388-c4ace1706b38][extended command]]       |
+  | s-up arrow          |                        |
+  |---------------------+------------------------|
+
+  |-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------+-------------|
+  | mouse             |                            | C-                              | M-                 | S-            | C-M-        | C-S-        |
+  |-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------+-------------|
+  | mouse-2 mode line | [[#69aaa631-6fb5-4beb-b2d8-c0f3d92c0a98][mouse-delete-other-windows]] | [[#501479ab-e1e2-497e-bd86-071f8afa3378][mouse-split-window-horizontally]] |                    |               |             |             |
+  | mouse-3 mode line | [[#917a1844-8c38-4f31-8616-50fc81334f2c][mouse-delete-window]]        |                                 |                    |               |             |             |
+  | mouse-1           | [[#4e60e2e4-8c2f-4450-8060-2d793ede530c][set cursor/mark]]            | [[#b661f84f-57df-4095-9dc1-d1a876a53ee5][buffer list context menu]]        |                    |               |             |             |
+  | mouse-2           | [[#086b0b50-054f-462d-92fa-b27852f887b0][paste]]                      |                                 |                    |               |             |             |
+  | mouse-3           | [[#0481632e-9c50-4328-9365-c4b5bf967b66][set-mark]]                   | [[#9623c78f-7705-4cbe-a990-c24eb1067377][global menu]]                     |                    |               |             |             |
+  | mouse-9           | [[#efaec161-b279-4129-86fd-b410430926e4][move-mouse-to-point]]        |                                 |                    |               |             |             |
+  | mouse-8           |                            |                                 |                    |               |             |             |
+  | 1/kp-end          |                            |                                 |                    |               |             |             |
+  | 2/kp-down         |                            |                                 | [[#50db5a06-452e-491f-875b-3de936a4d04a][smex]]               |               |             |             |
+  | 3/kp-next         |                            |                                 |                    |               |             |             |
+  | 4/kp-left         | [[#c44d0f65-9502-4cc6-9642-96d907f6b093][indent-region]]              |                                 |                    |               |             |             |
+  | 5/kp-begin        | [[#2458c6bc-7113-4d4b-bbdf-206e1cb842a7][mark-defun]]                 |                                 |                    |               |             |             |
+  | 6/kp-right        | [[#3b79bc58-6067-43bd-9471-9d592744a25a][ibuffer]]                    |                                 |                    |               |             |             |
+  | 7/kp-home         |                            |                                 |                    |               |             |             |
+  | 8/kp-up           |                            |                                 |                    |               |             |             |
+  | 9/kp-prior        | [[#a3b51adb-4405-4d9f-9b88-a8faa479fbe7][delete-horizontal-space]]    |                                 |                    |               |             |             |
+  | 10/kp-insert      |                            |                                 |                    |               |             |             |
+  | 11/kp-subtract    |                            |                                 |                    |               |             |             |
+  | 12/kp-add         |                            |                                 |                    |               |             |             |
+  | scroll            | [[#33433f0f-5b0e-46ba-8452-d2a51e54769b][up/dn / scroll]]             | [[#38c594ca-1d13-441b-833c-ad47b27e7073][cycle recent buffers]]            | [[#e1e2e253-450d-4620-af9e-78d378f49ad5][forward/back s-exp]] | [[#945cbcda-9a5a-4a9f-ad5c-4ede9a43656e][expand region]] | [[#10bc56d0-a6fe-4e2e-a287-1d280358ad1c][scroll]]      | [[#fc79fff3-259e-416a-a62a-c237b30ade28][zoom]]        |
+  | left-scroll       | [[#d2d5c5c7-f0de-4e08-953b-d41d3e282ba7][left/right]]                 | [[#7bb95aa5-381e-454a-a6c6-aaeec728db08][back / forward word]]             | [[#3aeb5be7-6026-42f6-a65b-b00799e44642][winner undo redo]]   | [[#ca5cdcd4-b3da-4d7b-86ab-4c7c0ac2caf7][---]]           | [[#7f7103f5-2488-46a6-8530-6d8a558e6eff][unreachable]] | [[#7b4f1f49-6d93-4210-a30c-8278d6e63655][unreachable]] |
+  |-------------------+----------------------------+---------------------------------+--------------------+---------------+-------------+-------------|
+
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | left primary    | C-                             | M-                              | C-M-                          | C-S-                     |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | 2               | [[#b7db9f5c-f31d-45fb-ac70-eb3ef9369d3d][copy-symbol]]                    | [[#53ecfda2-d9f6-4882-b7a2-9b3c859e3bcb][shell-cd-to-file]]                | [[#33c4996d-92bc-4df0-b005-11553677be13][---]]                           |                          |
+  | 3               | [[#401f56ff-6aba-4156-b128-f449b18c27af][dot-mode-execute]]               |                                 | [[#eb0cc3a8-b62e-4a24-9f84-cc8e854f91dd][recenter-top-bottom]]           |                          |
+  | q               | [[#679fd3cd-c43b-409c-be36-4175a5f27cd3][org-cycle, comint previous arg]] | [[#9a186632-7b04-4af7-b7de-eaec87daf315][org-archive-to-archive-sibling]]  | [[#1f5e9b63-7ce0-445c-a426-b41839585d38][quoted-insert]]                 |                          |
+  | w               | [[#20005b6d-9a9d-4b58-882c-7ce860c7a395][goto-t.org]]                     | [[#9531a0da-269f-4359-9124-e83fbf61a92f][org-clock-in]]                    |                               |                          |
+  | e               | [[#11e8f541-f0a0-4058-883a-98bd1e7b8c4d][copy-line]]                      | [[#74d0ed51-ddb5-488e-bf55-0f033916e319][org-clock-in-last]]               |                               |                          |
+  | r               | [[#5088a8b2-a772-4660-a3b6-b8cca7099da6][isearch-backward]]               | [[#8fe64424-1f11-4086-84b3-07c2af210c1c][org-clock-out]]                   |                               |                          |
+  | a               | [[#d57dd0ac-2251-44af-b232-30f8a2b0b198][copy-all]]                       | [[#77987ef8-6a18-4123-8ede-77bc766aa2aa][kmacro-start-macro-or-in...]]     | [[#dd2c225e-2d18-4b95-bc30-765163a5e368][kmacro-end-or-call-macro]]      |                          |
+  | s               | [[#f26dd0f5-0655-485f-8c76-e6dfc6abd947][C-x prefix]]                     |                                 | [[#290ea04a-be99-416a-a95f-458045a91c93][split-window-vertically]]       |                          |
+  | d               | [[#b699614a-9994-4fe7-b2c6-f0fe81b7ad2b][C-c prefix]]                     |                                 | [[#d9f48fbe-0a32-4133-93fb-f43ff6ab0037][swap buffer]]                   |                          |
+  | f               | [[#2695ed8a-e0d3-4e84-8688-98e3c50723b0][kill-whole-line]]                | [[#869f0aec-c739-4fb7-8e3a-8b55ab637765][print-var-at-point]]              | [[#e7e4dd0b-418f-48ee-b366-9e733e3bec61][kill rest of line]]             |                          |
+  | g               | [[#a58a1eda-43ed-437e-b483-5c312e0754a7][other-window / cancel]]          | [[#a287d720-4419-4546-8262-1f377bb158d2][abort-recursive-edit]]            | [[#327e18af-30b7-47e5-aa53-5f678788b4c1][gnus]]                          |                          |
+  | z               | [[#5c30ce7e-8bc6-45bf-b9b1-5c75334a3e27][undo-tree-undo]]                 |                                 |                               |                          |
+  | x               | [[#ec1403d3-528e-41b1-a195-5563bc93e124][kill-region]]                    | [[#bb7c95d5-dd97-439d-bf1f-cdac98d11543][append-next-kill]]                | [[#47cc90e3-335f-4c44-9f39-b732e5440664][append-next-kill]]              |                          |
+  | c               | [[#400f06e1-8e45-443c-8d7b-3d1bb1176aab][copy]]                           | [[#7a265014-1e9c-4639-ad1d-26b3416379a8][org-capture]]                     | [[#503e0beb-6fda-4e94-9678-d58bd3cbbc8e][copy-to-register]]              |                          |
+  | v               | [[#16411f68-7fe0-49e8-9a73-212471594f9e][yank]]                           | [[#fe04fffa-6f85-483a-b329-938531109c35][insert-register]]                 | [[#c559e9ea-1218-4ccb-9c3a-74cbac4be220][yank pop]]                      |                          |
+  | b               | [[#3090fb11-9a11-47e5-bc98-080ebd250d37][delete-other-windows]]           | [[#c18b9197-3d52-45a6-9d20-50d18fe1e7a7][isearch-backward-current-symbol]] | [[#e9dd549f-d031-418a-a0d5-30cf85e91c37][isearch-current-symbol]]        |                          |
+  | tab             | [[#928505cb-707c-47ba-af54-5ae1df2ee07d][yas-insert-snippet]]             | [[#64f91d86-afa9-4500-8d7d-ce8b2668726b][indent line]]                     |                               |                          |
+  | delete          | [[#e3d8653e-2282-4e3a-a4f5-29211ba2e647][kill-symbol]]                    |                                 | [[#d9664937-d61c-4cc8-89c6-7f2182655c20][kill-sexp]]                     |                          |
+  | left-arrow      | [[#601c8172-f9b7-4e36-88ab-c66c2911b4d7][compile]]                        |                                 | [[#91ddc121-db27-4f1c-a9ec-a4d29b96a7d2][org-shiftup]]                   |                          |
+  | right-arrow     | [[#5f66f60b-adcd-45dc-86b2-5d1225e2455c][paste selection]]                |                                 | [[#fc2147b4-a19a-4fde-bb53-e7ac28f0bfa1][org-shiftdown]]                 |                          |
+  | backspace       | [[#96f90a00-2260-4340-ae03-f4a86bd65502][backward-kill-symbol]]           |                                 | [[#606b0991-7431-4a8a-a909-b872e104cc88][backward-kill-sexp]]            |                          |
+  | f7              |                                |                                 |                               |                          |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | right primary   | C-                             | M-                              | C-M-                          | C-S-                     |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | *               | [[#045c374c-b03e-42cb-b274-0f30c81fe3f3][split-window-horizontally]]      |                                 | [[#05cf6230-9263-4fd4-9812-4f32009eed46][calc-dispatch]]                 |                          |
+  | 9               | [[#43d14154-2722-4ba5-b547-1b78c6274ebf][delete-window-or-exit]]          | [[#ed93f5b8-2c7f-46f8-8d84-2e10d9bc8f87][kill-buffer-and-window]]          | [[#37ef629b-fdbc-4d0b-bfa0-335eb1d408ee][kill client buffer]]            |                          |
+  | u               | [[#327992c0-6eba-4935-aec1-49871c2a8619][universal-argument]]             |                                 | [[#7af825b1-92d8-4d5d-aaa1-8b4b466ea2e0][search-keybind]]                |                          |
+  | i               | [[#3124e200-1d6e-4ad2-9a36-0d03e1e7dc38][-----]]                          |                                 | [[#b2cc7cdd-c177-4ef2-af43-28ca7a338fda][query-replace-regexp]]          |                          |
+  | o               | [[#b87a2c8a-7eb3-4661-9b28-589d14206c41][occur]]                          |                                 | [[#d30ac3cd-1963-4bd0-8052-98e12b6524b0][counsel-imenu]]                 |                          |
+  | p               | [[#d84de055-e92e-478d-bb39-bc39acfa1586][move-mouse-to-point]]            |                                 | [[#08e65732-2fb1-4a78-9d18-cee87eb867a7][delete-horizontal-space]]       |                          |
+  | j               | [[#ca1ce86b-dcea-45c1-9a8e-dd4f306776e8][pop-to-mark]]                    | [[#b92414e2-0d5b-4576-8fa5-5e7f1e32819a][previous-error]]                  | [[#8fe7cac2-ab1a-4b39-aced-10c5e0157e68][register prefix]]               |                          |
+  | k               | [[#eb1c2360-bfd4-4d5c-b789-11b5ca5ba475][jump to register]]               | [[#9061b192-735a-4273-ae36-993e6fad9205][next-error]]                      | [[#e1d768be-6b9b-4322-931f-3e570376ae15][man]]                           |                          |
+  | l               | [[#137995db-ee30-4738-90e2-54dcd5cadcf2][ivy-switch-buffer]]              |                                 | [[#56fcff3b-ffd9-4280-a226-4b58558906b8][move cursor top bottom mid]]    |                          |
+  | ;               | [[#150bef9a-3faa-4c72-a176-88c3be56f612][comment-dwim]]                   | [[#211e76d9-d89a-4cc6-abce-69397d456fda][comment-dwim]]                    | [[#17035e1e-bbe6-44a6-ad54-6a39b04feac3][comment-current-line-dwim]]     |                          |
+  | m               |                                |                                 | [[#9a6a1998-4ed6-485e-9b2d-c36a42d7ec1a][recursive grep]]                |                          |
+  | ,               | [[#e4f617b2-d3f1-47e4-ae7f-2d64c4fd47b9][counsel-find-file]]              |                                 | [[#e0691924-11e1-48d2-abee-27945a409676][find-file-in-project]]          |                          |
+  | .               | [[#6e97b7f1-c5cf-48bb-9c09-db1950dc1eae][recentf-ido-find-file]]          |                                 | [[#824d422c-67b6-4d68-af11-6a2135e528f5][-]]                             |                          |
+  | /               | [[#941a7fa8-84b9-434d-89a0-1487385ec479][join lines]]                     |                                 | [[#37f67593-4f60-4d3b-9aad-6c9bc4882443][copy-variable]]                 |                          |
+  | 8               | [[#45644cfa-d408-4a69-a97a-545ef46ba656][calc-embedded-word]]             |                                 |                               |                          |
+  | up-arrow        | [[#2dade04a-8ac7-483c-8675-5268af6eca2b][back defun/headline]]            |                                 |                               | [[#572d6618-471a-43c7-8a50-3f5e56f45cd7][winner undo]]              |
+  | down-arrow      | [[#a1f25c12-3523-45bd-9bf5-62bf3cd5ca43][forward dfun/headline]]          |                                 | [[#57a09286-94c6-4b9f-953a-7368743f95ec][toggle-mark-activation]]        | [[#9c87093b-7e30-44fb-83c9-c1b176074a5d][smex-major-mode-commands]] |
+  | lbracket        | [[#9d9916dd-3280-47dd-aab1-cd28d5ebfe15][----]]                           |                                 | [[#c10b53e9-657c-48f4-8afb-cad0e709bcd6][scroll-right]]                  |                          |
+  | rbracket        | [[#21b38c6b-3a46-4a08-8eca-d44abb148287][fill-paragraph]]                 |                                 | [[#095c3d97-bc49-419a-a8c0-c7a21d46d980][scroll-left]]                   |                          |
+  | return          | [[#db6e4c41-c048-4bef-b0c9-e129464c056d][newline next line]]              | [[#10b2591a-5628-46ee-b395-682e91efcb83][non-indented newline]]            | [[#1fc4f025-719f-4866-a9ab-23b30e4581b1][open newline on previous line]] |                          |
+  | space           | [[#b7d5a893-3045-4968-a150-cb813fddfe9e][org-edit-special]]               |                                 | [[#47b5912e-edc7-42ec-841b-f0e202b7f593][spell check word]]              |                          |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | left secondary  | C-                             | M-                              | C-M-                          | C-S-                     |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | =               |                                |                                 |                               |                          |
+  | 1               |                                |                                 |                               |                          |
+  | 4               |                                |                                 | [[#2d4de3c9-9e0c-4ab4-89e3-e41bfed3c9a7][widen]]                         |                          |
+  | 5               |                                |                                 |                               |                          |
+  | tab-key         | [[#2f527321-7f78-421b-b0c4-6fc810da0246][query-replace]]                  |                                 |                               |                          |
+  | t               | [[#3bcdf4a3-f33c-4dad-ba94-e4fd3775eca6][org change todo state]]          |                                 | [[#47c64b9c-346d-45ad-8c38-865fe22d31a6][org insert timestamp]]          |                          |
+  | home            | [[#1919659a-b466-4519-9276-8bf06a916066][start of buffer]]                |                                 |                               |                          |
+  | end             | [[#0a7bd629-cbcc-4761-8fe2-cc9370b985a4][end of buffer]]                  |                                 |                               |                          |
+  | f9              |                                |                                 |                               |                          |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | right secondary | C-                             | M-                              | C-M-                          | C-S-                     |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
+  | 6               | [[#e44e584b-d925-4036-9ad5-a90d02e74bef][save-buffers-kill-emacs]]        |                                 | [[#da73de75-0914-4f48-81d5-9b408433b14b][insert-small-copyright]]        |                          |
+  | 7               |                                |                                 | [[#a68c6b8e-9911-475e-ab35-e239771fe881][insert-full-copyright]]         |                          |
+  | 0               | [[#96ae2fcc-3a0c-40c4-aef8-06aff3fd42be][text-scale-reset]]               |                                 | [[#0e7f83a5-600e-4016-af98-95904300c016][insert-apache]]                 |                          |
+  | -               |                                |                                 | [[#6febc7ea-9cc7-488c-af34-538b8e69633b][org-edit-src-exit]]             |                          |
+  | y               | [[#97aee7f1-3647-4602-a65a-45e8a3aa3a7c][undo-tree-redo]]                 |                                 |                               |                          |
+  | \               | [[#69005926-08ab-4adc-a163-44fed609cc95][sr-speedbar-toggle]]             |                                 | [[#27045e96-59a3-45b4-b0ff-6247aa5ed47e][mark-defun]]                    |                          |
+  | h               | [[#3c5f241f-fc62-459d-ab85-6b7c1fb04801][help-prefix]]                    |                                 |                               |                          |
+  | '               | [[#9f252721-a2d5-46c6-b268-8ed597256229][eval-expression]]                |                                 |                               |                          |
+  | n               | [[#65ac9206-1a67-48dc-8b72-26d763d7bf2b][unpop-to-mark-command]]          |                                 | [[#34fb8fbd-42dc-46b0-8c3c-c7e51edc9687][narrow-to-region]]              |                          |
+  | rshift          |                                |                                 |                               |                          |
+  | escape          | [[#da8bae21-a7be-45de-8027-1b26e6285e40][find-tag]]                       |                                 |                               |                          |
+  |-----------------+--------------------------------+---------------------------------+-------------------------------+--------------------------|
   #+END:
 
 * persistent registers
@@ -8910,7 +5969,9 @@ much, so the added hassle of having to set it within this file is
 worth the benefit of only having one concept in my mind.
 #+begin_src emacs-lisp
   (dolist
-      (r `((?i (file . ,"~/.emacs.d/my-init.org"))
+      (r `(
+      (?i (file . ,"~/.emacs.d/my-init.org"))
+      (?t (file . ,"/a/x.txt"))
            ))
     (set-register (car r) (cadr r)))
 #+end_src
@@ -8954,9 +6015,6 @@ command to make more accessible, ...
 
 * TESTING / DEVELOPMENT AREA
 
-:PROPERTIES:
-  :tangle:   no
-:END:
 ** new
 #+begin_src emacs-lisp