            try-expand-line
            try-expand-line-all-buffers
            try-expand-whole-kill) t)))
+
+(use-package company :demand :diminish " K"
+  :bind (("H-m RET" . global-company-mode)
+         ("C-'" . company-complete) ("H-m '" . company-complete)
+         :map company-active-map
+         ("M-h" . company-quickhelp-manual-begin))
+  :config (global-company-mode 1)
+  (unbind-key "<tab>" company-active-map)
+  (unbind-key "TAB" company-active-map)
+  (use-package company-flx)
+  (company-flx-mode 1)
+  (use-package company-math)
+  (push 'company-math-symbols-unicode company-backends)
+  (use-package company-quickhelp)
+  (company-quickhelp-mode 1)
+  (setq company-idle-delay 0.2
+        company-minimum-prefix-length 2
+        company-selection-wrap-around t
+        company-tooltip-align-annotations t
+        company-quickhelp-delay nil))
+
+(use-package aggressive-indent :demand :diminish " i"
+  :bind ("H-m i" . global-aggressive-indent-mode)
+  :config (global-aggressive-indent-mode 1))
+
+(use-package hungry-delete :diminish ""
+  :config (global-hungry-delete-mode 1))
+
+(use-package visual-regexp
+  :bind ("C-M-%" . vr/query-replace))
+
+(use-package fix-word
+  :bind (("M-u" . fix-word-upcase)
+         ("M-l" . fix-word-downcase)
+         ("M-c" . fix-word-capitalize)))
+
+(use-package zzz-to-char
+  :bind ("M-z" . zzz-to-char))
+
+(use-package whitespace-cleanup-mode
+  :config (global-whitespace-cleanup-mode))
 
 ;;;;;;;;;;;;;;;
 ;; languages ;;

 ;; package
 '(package-enable-at-startup nil)
 '(package-selected-packages
   '(aggressive-indent avy benchmark-init cargo cdlatex centered-cursor-mode cider-eval-sexp-fu clj-refactor company-auctex company-flx company-math company-quickhelp csv-mode ediprolog elpy ess exec-path-from-shell expand-region flx-ido flycheck-pos-tip flycheck-rust geiser haskell-mode ido-complete-space-or-hyphen ido-ubiquitous ido-vertical-mode ido-yes-or-no idris-mode js2-mode kibit-helper latex-preview-pane magit markdown-mode+ powerline projectile quack racer rainbow-delimiters rainbow-mode region-bindings-mode smartparens smex undo-tree use-package which-key zenburn-theme)))

(mapc (lambda (cmd) (put cmd 'disabled nil))
      ;; enable some disabled commands

  (use-package ido-vertical-mode)
  (ido-vertical-mode 1)
  (use-package ido-complete-space-or-hyphen)
  (setq gc-cons-threshold (round 2e7)
        ido-use-faces nil
        ido-enable-flex-matching t
        ido-max-work-directory-list 0
