         (bind-keys
          :map region-bindings-mode-map
          ("G" . gplusify-region-as-kill)))))
-
-(when (featurep 'region-bindings-mode)
-  (bind-keys
-   :map region-bindings-mode-map
-   ;; When region is selected, pressing `c' will copy the region
-   ;; with ASCII character adornment. Pressing `C-u c' will copy
-   ;; with Unicode character adornment.
-   ("c" . copy-with-linenum)
-   ("~" . xah-cycle-letter-case)))
 
 ;; Unicode
 (defhydra hydra-unicode (:color blue)

 ("M-j"     . comment-indent-new-line)
 ("<f9>"    . eval-region))

(defhydra hydra-change-case(:color red)
  "change-case"
  ("c"   modi/capitalize       "Capitalize")
  ("u"   modi/upcase           "UPCASE")
  ("l"   modi/downcase         "downcase")
  ("M-c" xah-cycle-letter-case "→Cap→UP→down→")
  ("q"   nil                   "cancel" :color blue))

(bind-keys
 :map modi-mode-map
 ("C-x C-u" . modi/upcase)
 ("C-x C-l" . modi/downcase)
 ("M-c"     . hydra-change-case/body))

(bind-to-modi-map "x" eval-and-replace-last-sexp)
;; Bind `what-cursor-position' to `modi-mode-map' as I have overridden its
;; default binding `C-x =' with something else.
(bind-to-modi-map "=" what-cursor-position)


;; http://stackoverflow.com/a/3035574/1219634
(defun eval-and-replace-last-sexp ()
  "Replace an emacs lisp expression (s-expression aka sexp) with its result.

How to use: Put the cursor at the end of an expression like (+ 1 2) and call
this command."
  (interactive)
  (let ((value (eval (preceding-sexp))))
    (kill-sexp -1)
    (insert (format "%s" value))))
(bind-to-modi-map "x" eval-and-replace-last-sexp)

;; Toggle comment on current line or selected region
;; http://stackoverflow.com/questions/9688748/emacs-comment-uncomment-current-line
