6f8a1927f3aa

Merge.
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Wed, 10 Oct 2012 12:05:45 -0400
parents 8724f02b2908 (current diff) e484a4d62a7b (diff)
children c88b89eff3ef
branches/tags (none)
files .hgsubstate moom/com.manytricks.Moom.plist vim/vimrc

Changes

--- a/.hgsub	Wed Oct 10 12:05:29 2012 -0400
+++ b/.hgsub	Wed Oct 10 12:05:45 2012 -0400
@@ -7,7 +7,6 @@
 vim/bundle/clam           = [hg]https://bitbucket.org/sjl/clam.vim/
 vim/bundle/commentary     = [git]git://github.com/tpope/vim-commentary.git
 vim/bundle/ctrlp          = [git]git://github.com/kien/ctrlp.vim.git
-vim/bundle/easymotion     = [git]git://github.com/Lokaltog/vim-easymotion.git
 vim/bundle/fugitive       = [git]git://github.com/tpope/vim-fugitive.git
 vim/bundle/gundo          = [hg]https://bitbucket.org/sjl/gundo.vim/
 vim/bundle/html5          = [git]git://github.com/othree/html5.vim.git
--- a/.hgsubstate	Wed Oct 10 12:05:29 2012 -0400
+++ b/.hgsubstate	Wed Oct 10 12:05:45 2012 -0400
@@ -7,7 +7,6 @@
 8533fffd9fbb690dfc8e334f91a10c72e35a6dce vim/bundle/clam
 dc349bb7d30f713d770fc1fa0fe209e6aab82dc8 vim/bundle/commentary
 3c6182371db8e8ede3789d21b52386569eda2208 vim/bundle/ctrlp
-667a668e114e9ec0e5d4cbcb0962d835b23614c4 vim/bundle/easymotion
 cff78c3ab4605d490e6be8d8af02f1e7efd25c95 vim/bundle/fugitive
 8c570a493d260890242cbdc5a22d8500dc4604cb vim/bundle/gundo
 34b407d2344a3c2a94b56e9d443e18e01e8544d9 vim/bundle/html5
--- a/bash_profile	Wed Oct 10 12:05:29 2012 -0400
+++ b/bash_profile	Wed Oct 10 12:05:45 2012 -0400
@@ -6,12 +6,28 @@
 # This file contains aliases and functions that duplicate some fish
 # functionality, because Vim will use bash as its external command shell.
 
-function a() {
-    if [ -f '.agignorevcs' ]; then
-        ag -U $*
+AG_BIN="`which ag`"
+function ag() {
+    if test -f '.agignore' && grep -q 'pragma: skipvcs' '.agignore'; then
+        $AG_BIN --search-files -U $*
     else
-        ag $*
+        $AG_BIN --search-files $*
     fi
 }
 
 export PATH=~/bin:~/lib/dotfiles/bin:/usr/local/share/python:$PATH
+
+alias h='hg'
+alias g='git'
+alias pbc='pbcopy'
+alias pbp='pbpaste'
+alias pbpb='pbp | pb'
+alias vu='vagrant up'
+alias vs='vagrant suspend'
+alias o='open'
+alias oo='open .'
+alias t='~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt'
+
+function psg() {
+    ps auxww | grep --color=always $* | grep -v grep | collapse | cuts -f 2,11-
+}
--- a/bin/bootstrap.sh	Wed Oct 10 12:05:29 2012 -0400
+++ b/bin/bootstrap.sh	Wed Oct 10 12:05:45 2012 -0400
@@ -41,8 +41,9 @@
 ensure_link "lib/dotfiles/ffignore"            ".ffignore"
 ensure_link "lib/dotfiles/ctags"               ".ctags"
 ensure_link "lib/dotfiles/grc"                 ".grc"
-ensure_link "lib/dotfiles/fish/config.fish"    ".config/fish/config.fish"
 ensure_link "lib/dotfiles/mutt/notmuch-config" ".notmuch-config"
 ensure_link "lib/dotfiles/bash_profile"        ".bash_profile"
+ensure_link "lib/dotfiles/inputrc"             ".inputrc"
+ensure_link "lib/dotfiles/fish/config.fish"    ".config/fish/config.fish"
 
 echo completed
--- a/fish/config.fish	Wed Oct 10 12:05:29 2012 -0400
+++ b/fish/config.fish	Wed Oct 10 12:05:45 2012 -0400
@@ -24,7 +24,6 @@
 alias et 'vim ~/.tmux.conf'
 alias eg 'vim ~/.gitconfig'
 
-
 alias spotlight-off 'sudo mdutil -a -i off ; and sudo mv /System/Library/CoreServices/Search.bundle/ /System/Library/CoreServices/SearchOff.bundle/ ; and killall SystemUIServer'
 alias spotlight-on 'sudo mdutil -a -i on ; and sudo mv /System/Library/CoreServices/SearchOff.bundle/ /System/Library/CoreServices/Search.bundle/ ; and killall SystemUIServer'
 alias spotlight-wat 'sudo fs_usage -w -f filesys mdworker | grep "open"'
@@ -67,11 +66,34 @@
     VBoxManage controlvm $argv poweroff
 end
 
-function a -d "Run Ag with appropriate options."
-    if test -f '.agignorevcs'
-        ag -U $argv
+set AG_BIN (which ag)
+function actual_ag
+    # Fuck you fish this is fucking ridiculous.  Let me use $AG_BIN as
+    # a command.  Or at least give me a way to do it like run $AG_BIN args or
+    # something jesus.
+    if test $AG_BIN = '/usr/local/bin/ag'
+        /usr/local/bin/ag $argv
     else
-        ag $argv
+        if test $AG_BIN = '/usr/bin/ag'
+            /usr/bin/ag $argv
+        else
+            echo "Fish is a dick, sorry."
+        end
+    end
+end
+function ag -d "Run Ag with appropriate options."
+    if test -f '.agignore'
+        # Extra if statement because I can't figure out how to && things in
+        # a fish conditional and the documentation does not see fit to explain
+        # that little tidbit and can we please get a shell without complete
+        # bullshit as a scripting language syntax?
+        if grep -q 'pragma: skipvcs' '.agignore'
+            actual_ag --search-files -U $argv
+        else
+            actual_ag --search-files $argv
+        end
+    else
+        actual_ag --search-files $argv
     end
 end
 
@@ -93,7 +115,7 @@
 function prepend_to_path -d "Prepend the given dir to PATH if it exists and is not already in it"
     if test -d $argv[1]
         if not contains $argv[1] $PATH
-            set -g PATH "$argv[1]" $PATH
+            set -gx PATH "$argv[1]" $PATH
         end
     end
 end
@@ -258,7 +280,10 @@
 end
 
 # }}}
+# Fortune {{{
 
 if status --is-interactive
     command fortune -s | cowsay -n | lolcat
 end
+
+# }}}
--- a/gitconfig	Wed Oct 10 12:05:29 2012 -0400
+++ b/gitconfig	Wed Oct 10 12:05:45 2012 -0400
@@ -25,9 +25,10 @@
     pull = pull --ff-only
     up = merge --ff-only
 
-    merge = merge --no-ff
     join = merge --no-ff
 
+    discard-merge = reset --hard HEAD
+
     ci = commit
     cm = commit -m
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inputrc	Wed Oct 10 12:05:45 2012 -0400
@@ -0,0 +1,2 @@
+\e[O: ''
+\e[I: ''
--- a/keyremap4macbook/cadet.py	Wed Oct 10 12:05:29 2012 -0400
+++ b/keyremap4macbook/cadet.py	Wed Oct 10 12:05:45 2012 -0400
@@ -39,7 +39,7 @@
     ('n',     u'' , u'ℕ', u'', u''),
     ('o',     u'∨', u'',  u'', u''),
     ('r',     u'√', u'ℝ', u'', u''),
-    ('t',     u'⊢', u'⊥', u'', u''),
+    # ('t',     u'⊢', u'⊥', u'', u''),
     ('u',     u'∪', u'',  u'', u''),
     ('x',     u'⊻', u'',  u'', u''),
     ('z',     u'' , u'ℤ', u'', u''),
--- a/keyremap4macbook/private.xml	Wed Oct 10 12:05:29 2012 -0400
+++ b/keyremap4macbook/private.xml	Wed Oct 10 12:05:45 2012 -0400
@@ -4,10 +4,73 @@
         <item>
             <name>Space Cadet Mode</name>
             <appendix>This mode emulates a few of the features of the Space Cadet keyboard.</appendix>
+            <appendix>It also adds a few other helpful mappings.</appendix>
+            <appendix>It requires the Unicode Hex Input keyboard layout for the Greek and Math layers.</appendix>
 
             <item>
+                <name>Force yourself to use the correct shift keys.</name>
+                <identifier>space_cadet.force_correct_shifts</identifier>
+
+                <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
+
+                <autogen>--KeyToKey-- KeyCode::Y,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::U,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::I,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::O,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::P,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::H,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::J,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::K,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::L,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::N,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::M,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::COMMA,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::DOT,       ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+                <autogen>--KeyToKey-- KeyCode::QUOTE,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
+            </item>
+            <item>
+                <name>Shifts to Parentheses</name>
+                <appendix>Shifts, when pressed alone, type parentheses.</appendix>
+                <appendix>When used with other keys they're normal shifts.</appendix>
+
+                <identifier>space_cadet.shifts_to_parens</identifier>
+
+                <!-- This is the basic mapping. -->
+                <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
+                <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
+
+                <!--
+                    Remap the "rolls" of () and )( because it's too easy to hit one
+                    before finishing the other, and there's no other reason to be
+                    pressing both shift keys at once anyway
+                -->
+                <autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
+                <autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
+
+                <!--
+                    Remap Rshift+Space to ') ', because when typing an end paren and
+                    then a space I tend to hit space before I let go of rshift.
+                -->
+                <autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
+            </item>
+            <item>
                 <name>Remap Left Control to Hyper</name>
                 <appendix>OS X doesn't have a Hyper. This maps Left Control to Control + Shift + Option + Command.</appendix>
+                <appendix>You can use this key in your own custom keyboard shortcuts you create in apps.</appendix>
 
                 <identifier>space_cadet.left_control_to_hyper</identifier>
 
@@ -20,6 +83,42 @@
                 </autogen>
             </item>
             <item>
+                <name>Restore [Shift-]Opt-(Left/Right)</name>
+                <appendix>The Unicode Hex Input keyboard layout disables these keys for some reason.</appendix>
+
+                <identifier>space_cadet.fix_opt_arrows</identifier>
+
+                <autogen>
+                    --KeyToKey--
+                    KeyCode::CURSOR_LEFT, VK_OPTION | VK_SHIFT,
+
+                    KeyCode::B,
+                    ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
+                </autogen>
+                <autogen>
+                    --KeyToKey--
+                    KeyCode::CURSOR_LEFT, VK_OPTION,
+
+                    KeyCode::B,
+                    ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L
+                </autogen>
+                <autogen>
+                    --KeyToKey--
+                    KeyCode::CURSOR_RIGHT, VK_OPTION | VK_SHIFT,
+
+                    KeyCode::F,
+                    ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
+                </autogen>
+                <autogen>
+                    --KeyToKey--
+                    KeyCode::CURSOR_RIGHT, VK_OPTION,
+
+                    KeyCode::F,
+                    ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L
+                </autogen>
+            </item>
+
+            <item>
                 <name>Math Layer</name>
                 <appendix>Right Control key activates the Math key layer.</appendix>
 
@@ -164,26 +263,6 @@
 
                 <autogen>
                     --KeyToKey--
-                    KeyCode::T, ModifierFlag::EXTRA3 | VK_SHIFT,
-                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
-                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
-                    KeyCode::A, ModifierFlag::OPTION_L,
-                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
-                </autogen>
-
-
-                <autogen>
-                    --KeyToKey--
-                    KeyCode::T, ModifierFlag::EXTRA3,
-                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
-                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
-                    KeyCode::A, ModifierFlag::OPTION_L,
-                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
-                </autogen>
-
-
-                <autogen>
-                    --KeyToKey--
                     KeyCode::U, ModifierFlag::EXTRA3,
                     KeyCode::KEY_2, ModifierFlag::OPTION_L,
                     KeyCode::KEY_2, ModifierFlag::OPTION_L,
@@ -1037,81 +1116,5 @@
             </item>
         </item>
     </list>
-
-    <list>
-        <item>
-            <name>sjl Swap parens and brackets</name>
-            <identifier>private.swap_parens_and_brackets</identifier>
-            <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT,  ModifierFlag::NONE, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
-            <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::NONE, KeyCode::KEY_0, ModifierFlag::SHIFT_R</autogen>
-            <autogen>--KeyToKey-- KeyCode::KEY_9,         ModifierFlag::SHIFT_L, KeyCode::BRACKET_LEFT</autogen>
-            <autogen>--KeyToKey-- KeyCode::KEY_0,         ModifierFlag::SHIFT_L, KeyCode::BRACKET_RIGHT</autogen>
-        </item>
-    </list>
-
-    <list>
-        <item>
-            <name>sjl Shifts to Parentheses</name>
-            <appendix>Shifts, when pressed alone, type parentheses.  When used with other keys they're normal shifts.</appendix>
-
-            <identifier>private.shifts_to_parens</identifier>
-
-            <!-- This is the basic mapping. -->
-            <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
-            <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
-
-            <!--
-                Remap the "rolls" of () and )( because it's too easy to hit one
-                before finishing the other, and there's no other reason to be
-                pressing both shift keys at once anyway
-            -->
-            <autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
-            <autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
-
-            <!--
-                Remap Rshift+Space to ') ', because when typing an end paren and
-                then a space I tend to hit space before I let go of rshift.
-            -->
-            <autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
-        </item>
-    </list>
-
-    <list>
-        <item>
-            <name>sjl Use the correct goddamned shift keys.</name>
-            <identifier>private.fucking_shift_keys_how_do_they_work</identifier>
-
-            <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
-
-            <autogen>--KeyToKey-- KeyCode::Y,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::U,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::I,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::O,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::P,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::H,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::J,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::K,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::L,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::N,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::M,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::COMMA,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::DOT,       ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-            <autogen>--KeyToKey-- KeyCode::QUOTE,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
-        </item>
-    </list>
 </root>
 
Binary file moom/com.manytricks.Moom.plist has changed
--- a/mutt/muttrc	Wed Oct 10 12:05:29 2012 -0400
+++ b/mutt/muttrc	Wed Oct 10 12:05:45 2012 -0400
@@ -105,6 +105,7 @@
 
 ignore *                                # ignore all headers
 unignore from: to: cc: date: subject:   # show only these
+unhdr_order *
 hdr_order from: to: cc: date: subject:  # and in this order
 
 # }}}
--- a/mutt/offlineimap.py	Wed Oct 10 12:05:29 2012 -0400
+++ b/mutt/offlineimap.py	Wed Oct 10 12:05:45 2012 -0400
@@ -6,9 +6,9 @@
         'command': 'find-internet-password',
         'account': account,
         'server': server,
-        'keychain': '/Users/sjl/Library/Keychains/login.keychain',
+        'keychain': '/Users/`whoami`/Library/Keychains/login.keychain',
     }
-    command = "sudo -u sjl %(security)s -v %(command)s -g -a %(account)s -s %(server)s %(keychain)s" % params
+    command = "sudo -u `whoami` %(security)s -v %(command)s -g -a %(account)s -s %(server)s %(keychain)s" % params
     output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT)
     outtext = [l for l in output.splitlines()
                if l.startswith('password: ')][0]
--- a/vim/vimrc	Wed Oct 10 12:05:29 2012 -0400
+++ b/vim/vimrc	Wed Oct 10 12:05:45 2012 -0400
@@ -162,11 +162,23 @@
 " }}}
 " Backups {{{
 
+set backup                        " enable backups
+set noswapfile                    " It's 2012, Vim.
+
 set undodir=~/.vim/tmp/undo//     " undo files
 set backupdir=~/.vim/tmp/backup// " backups
 set directory=~/.vim/tmp/swap//   " swap files
-set backup                        " enable backups
-set noswapfile                    " It's 2012, Vim.
+
+" Make those folders automatically if they don't already exist.
+if !isdirectory(expand(&undodir))
+    call mkdir(expand(&undodir), "p")
+endif
+if !isdirectory(expand(&backupdir))
+    call mkdir(expand(&backupdir), "p")
+endif
+if !isdirectory(expand(&directory))
+    call mkdir(expand(&directory), "p")
+endif
 
 " }}}
 " Leader {{{
@@ -466,12 +478,6 @@
 " something similar: move to last change
 nnoremap gI `.
 
-" Open a Quickfix window for the last search.
-nnoremap <silent> <leader>? :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
-
-" Ack for the last search.
-nnoremap <silent> <leader>/ :execute "Ack! '" . substitute(substitute(substitute(@/, "\\\\<", "\\\\b", ""), "\\\\>", "\\\\b", ""), "\\\\v", "", "") . "'"<CR>
-
 " Fix linewise visual selection of various text objects
 nnoremap VV V
 nnoremap Vit vitVkoj
@@ -501,7 +507,6 @@
 " }}}
 " Highlight word {{{
 
-nnoremap <silent> <leader>hh :execute 'match InterestingWord1 /\<<c-r><c-w>\>/'<cr>
 nnoremap <silent> <leader>h1 :execute 'match InterestingWord1 /\<<c-r><c-w>\>/'<cr>
 nnoremap <silent> <leader>h2 :execute '2match InterestingWord2 /\<<c-r><c-w>\>/'<cr>
 nnoremap <silent> <leader>h3 :execute '3match InterestingWord3 /\<<c-r><c-w>\>/'<cr>
@@ -982,7 +987,7 @@
 " Ack {{{
 
 nnoremap <leader>a :Ack!<space>
-let g:ackprg = 'a --nogroup --nocolor --column'
+let g:ackprg = 'ag --nogroup --nocolor --column'
 
 " }}}
 " Autoclose {{{
@@ -1054,22 +1059,6 @@
 nnoremap <leader>. :CtrlPTag<cr>
 
 " }}}
-" Easymotion {{{
-
-let g:EasyMotion_do_mapping = 0
-
-nnoremap <silent> <Leader>f      :call EasyMotion#F(0, 0)<CR>
-onoremap <silent> <Leader>f      :call EasyMotion#F(0, 0)<CR>
-vnoremap <silent> <Leader>f :<C-U>call EasyMotion#F(1, 0)<CR>
-
-nnoremap <silent> <Leader>F      :call EasyMotion#F(0, 1)<CR>
-onoremap <silent> <Leader>F      :call EasyMotion#F(0, 1)<CR>
-vnoremap <silent> <Leader>F :<C-U>call EasyMotion#F(1, 1)<CR>
-
-onoremap <silent> <Leader>t      :call EasyMotion#T(0, 0)<CR>
-onoremap <silent> <Leader>T      :call EasyMotion#T(0, 1)<CR>
-
-" }}}
 " Fugitive {{{
 
 nnoremap <leader>gd :Gdiff<cr>
@@ -1223,7 +1212,7 @@
         unlet w:is_scratch_window
         exec "q"
     else
-        exec "normal! :Sscratch\<cr>\<C-W>J:resize 13\<cr>"
+        exec "normal! :Sscratch\<cr>\<C-W>L"
         let w:is_scratch_window = 1
     endif
 endfunction