              try-expand-line
              try-expand-line-all-buffers
              try-expand-whole-kill) t))
-    :bind (("<M-tab>" . hippie-expand)
-           ("M-/" . crazy-hippie-expand)))
-
-  (use-package undo-tree
-    :diminish " ψ"
-    :config (global-undo-tree-mode 1))
-
-  (use-package region-bindings-mode
-    :config (region-bindings-mode-enable)
-    (bind-keys :map region-bindings-mode-map
-               ("q" . keyboard-quit)                  ;; quit
-               ("k" . kill-region)                    ;; kill
-               ("z" . delete-region)                  ;; zehen
-               ("c" . kill-ring-save)                 ;; copy
-               ("r" . replace-string)                 ;; replace
-               ("u" . upcase-initials-region)         ;; upcase
-               ("w" . comment-box)                    ;; wrap
-               ("g" . comment-or-uncomment-region)    ;; gloss
-               ("n" . mc/mark-next-like-this)         ;; next
-               ("j" . mc/unmark-next-like-this)       ;; jerk
-               ("p" . mc/mark-previous-like-this)     ;; prev
-               ("o" . mc/unmark-previous-like-this)   ;; off
-               ("f" . mc/skip-to-next-like-this)      ;; forward
-               ("b" . mc/skip-to-previous-like-this)  ;; backward
-               ("a" . mc/edit-beginnings-of-lines)    ;; anfang
-               ("e" . mc/edit-ends-of-lines)          ;; ende
-               ("l" . mc/edit-lines)                  ;; line
-               ("m" . mc/mark-all-like-this-dwim)     ;; mark
-               ("x" . mc/mark-all-in-region)          ;; x
-               ("t" . mc/mark-sgml-tag-pair)          ;; tag
-               ("d" . mc/mark-all-like-this-in-defun) ;; defun
-               ("h" . mc/mark-all-like-this)          ;; (w)hole
-               ("i" . mc/insert-numbers)              ;; index
-               ("s" . mc/sort-regions)                ;; sort
-               ("v" . mc/reverse-regions)             ;; vert
-               ))
-  (bind-keys :map smartparens-mode-map
-             ;; paredit stuff
-             ("C-)" . sp-forward-slurp-sexp)
-             ("C-}" . sp-dedent-adjust-sexp) ;; cp. sp-forward-barf-sexp
-             ("C-(" . sp-backward-slurp-sexp)
-             ("C-{" . sp-backward-barf-sexp)
-             ("<C-backspace>" . sp-splice-sexp-killing-backward)
-             ("C-M-d" . sp-splice-sexp-killing-forward) ;; overrides down-list
-             ("M-s" . sp-splice-sexp)
-             ;; <---??? maybe reconsider these key cords
-             ("M-S" . sp-split-sexp)
-             ("M-J" . sp-join-sexp)
-             ("M-C" . sp-convolute-sexp) ;; formerly M-?
-             ;; more magic added by smartparens
-             ("M-A" . sp-absorb-sexp)
-             ("M-E" . sp-emit-sexp)
-             ("M-I" . sp-indent-defun)
-             ("M-R" . sp-rewrap-sexp)
-             ("M-W" . sp-swap-enclosing-sexp)
-             ("M-(" . sp-extract-before-sexp)
-             ("M-)" . sp-extract-after-sexp)
-             ("C-<" . sp-indent-adjust-sexp) ;; cp. sp-add-to-previous-sexp
-             ("C->" . sp-add-to-next-sexp)
-             ;; they are kinda hard to remember ???--->
-             ("M-[" . sp-select-previous-thing-exchange)
-             ("M-]" . sp-select-next-thing)
-             ("C-M-w" . sp-copy-sexp)
-             ("C-M-S-w" . sp-backward-copy-sexp)
-             ("C-M-u" . sp-unwrap-sexp) ;; overrides backward-up-list
-             ("C-M-S-u" . sp-backward-unwrap-sexp)
-             ;; navigation via parentheses
-             ("M-n" . sp-down-sexp)
-             ("M-P" . sp-backward-down-sexp)
-             ("M-p" . sp-backward-up-sexp)
-             ("M-N" . sp-up-sexp)
-             ;; emacs stuff ;; overrides
-             ("C-M-f" . sp-forward-sexp)      ;; forward-sexp
-             ("C-M-b" . sp-backward-sexp)     ;; backward-sexp
-             ("C-M-a" . sp-beginning-of-sexp) ;; beginning-of-defun
-             ("C-M-e" . sp-end-of-sexp)       ;; end-of-defun
-             ("C-M-n" . sp-next-sexp)         ;; forward-list
-             ("C-M-p" . sp-previous-sexp)     ;; backward-list
-             ("C-j" . sp-newline) ;; electric-newline-and-maybe-indent
-             ("C-M-t"   . sp-transpose-sexp)        ;; transpose-sexp
-             ("C-x C-t" . sp-transpose-hybrid-sexp) ;; transpose-lines
-             ("C-M-k"           . sp-kill-sexp)     ;; kill-sexp
-             ("<C-M-backspace>" . sp-backward-kill-sexp) ;; backward-kill-sexp
-             ;; strict mode stuff
-             ("C-d"   . sp-delete-char)          ;; delete-char
-             ("DEL"   . sp-backward-delete-char) ;; backward-delete-char
-             ("M-d"   . sp-kill-word)            ;; kill-word
-             ("M-DEL" . sp-backward-kill-word)   ;; backward-kill-word
-             ("C-k"   . sp-kill-hybrid-sexp)     ;; kill-line
-             ))
+    :bind (("<C-tab>" . hippie-expand)
+           ("<M-tab>" . crazy-hippie-expand))))
 
 (use-package yasnippet
-  :bind (("<C-S-tab>" . yas-global-mode)
+  :bind (("C-c m y" . yas-global-mode)
          :map yas-minor-mode-map
-         ("<S-tab>" . yas-expand))
+         ("<C-tab>" . yas-expand))
   :diminish (yas-minor-mode . " Y")
   :init (setq yas-snippet-dirs '(yas-installed-snippets-dir))
   :config

  (unbind-key "TAB" yas-minor-mode-map))

(use-package company
  :bind ("<C-tab>" . global-company-mode)
  :diminish " K"
  :config
  (unbind-key "<tab>" company-active-map)

    :config (ido-ubiquitous-mode 1))

  (use-package ido-vertical-mode
    :config
    (ido-vertical-mode 1)
    (setq ido-vertical-show-count t)
    (setq ido-vertical-define-keys 'C-n-C-p-up-down-left-right))

  (use-package flx-ido
    :config
    (flx-ido-mode 1)
    (setq ido-use-faces nil
          gc-cons-threshold 20000000)))

(use-package smex
  :bind (("M-x" . smex)
         ("M-X" . smex-major-mode-commands)))

(use-package avy
  :bind (("C-c j" . avy-goto-word-1) ;; same as ace-jump
