   "gt" 'smerge-keep-other ; "keep the one where my cursor isn't"
   "gn" 'smerge-next ; This should probably variously do smerge-next, magit-blame-next, etc
   "gp" 'smerge-prev
-
-  "hl" 'hs-hide-level
-  ;; "hL" 'hs-hide-level-recursive  ; Recursive version doesn't work like I think
   "ii" 'insert-char
-
   ;; (l)aunch application modes like dired, proced, ansi-term, et al
   "ld" 'dired
   "lp" 'proced
   "nm" 'linum-mode
   "nn" 'linum-relative-toggle
-
-  ;; Packages and pianobar (not that I've been using pianobar much)
   "pi" 'package-install
-  "pl" 'paradox-list-packages  ;; paradox shadows 'package-list-packages
+  "pl" 'paradox-list-packages
+  ;; "pl" 'package-list-packages
   "po" 'pianobar
   "pn" 'pianobar-next-song
   "pp" 'pianobar-play-or-pause
-
-  ;; Region-like bindings
+  "sb" 'eval-buffer
   "rc" 'comment-region
   "rt" 'indent-region
   "ru" 'uncomment-region
-
-  ;; Evaluation-like bindings
-  "sb" 'eval-buffer
   "sd" 'transpose-sexps
   "sf" 'browse-url-of-file
   "sl" 'eval-last-sexp
   "so" 'browse-url
   "ss" 'eval-defun ;because eval-defun is *totally* a synonym for 'eval-this-sexp... dammit emacs
-  "tf" 'transpose-frame  ; Deprecated, moving frame manipulations to 'f<char>
+  "tf" 'transpose-frame
   "tt" 'my-run-pytest-from-buffer-name
   "ta" 'pytest-all
   ; Not sure this next one is a good idea - \z works to enter emacs mode, but not to leave it.
-
-  ;; Window operations
   "wf" 'toggle-frame-fullscreen
   "wh" 'other-frame
   "wk" 'delete-window
   "wl" 'reverse-other-frame
-  "wm" 'maximize-this-window
   "wn" 'make-frame
   "[" 'keyboard-quit
   )

      (message "t")
    (message "nil")))

;; Frame-cycling commands
(defun reverse-other-frame () "Fuck you Emacs linter." (interactive (other-frame -1)))
;; These are both broken right now. Specifically, they were an attempt to
;; implement OS X window jumping. They work fine when multiple Emacs frames are
;; tabs in a single OS X window, but do not correctly jump between OS X windows,
;; unsurprisingly. (At least I think that's what I wanted them for. I kinda
;; forget what I wanted them for.
(defun jump-far-right-frame () "Jump right."
       (interactive)
       (let ((c-frame (selected-frame))
             (n-frame (next-frame)))
         (while (not (equal c-frame n-frame))
           (setq c-frame n-frame)
           (setq n-frame (next-frame))
           )
         (select-frame-set-input-focus c-frame)))
(defun jump-far-left-frame () "Jump left."
       (interactive)
       (let ((c-frame (selected-frame))
             (p-frame (previous-frame)))
         (while (not (equal c-frame p-frame))
           (setq c-frame p-frame)
           (setq p-frame (previous-frame))
           )
         (select-frame-set-input-focus c-frame)))

(evil-leader/set-key
  "," 'ibuffer

  "+" 'hs-show-block
  "=" 'hs-show-block
  "-" 'hs-hide-block
  "<+" 'hs-show-level
  "<-" 'hs-hide-level
  "<<+" 'hs-show-all
  "<<-" 'hs-hide-all
  "/" 'comment-dwim

  ;; b is the prefix key for buffer operations
  "ba" 'find-file ;I type ,bs for :e enough I want an escape hatch
  "bc" 'clone-indirect-buffer-other-window
  "bd" 'diff-buffer-with-file

;; Setup leader key stuff.
;; \ is the default, but "," is another common choice
(evil-leader/set-leader ",")

;; (defun comment-line-or-region ()
;;   "No."
