+;; (use-package smex)
+
+(bind-keys
+ ("C-c f ." . find-file)
+ ("C-c f l" . find-library)
+ ("C-c f r" . recentf-open-files)
+ ("C-c x" . execute-extended-command))
+
+(use-feature ido
+ :demand
+ :bind
+ (:map ido-common-completion-map
+ ([escape] . minibuffer-keyboard-quit)
+ ("DEL" . b/ido-backspace))
+ :config
+ (require 'delsel)
+ (defun b/ido-backspace ()
+ "Forward to `backward-delete-char'. On error (read-only), quit."
+ (interactive)
+ (condition-case nil
+ (backward-delete-char 1)
+ (error
+ (minibuffer-keyboard-quit))))
+ (ido-mode 1)
+ (ido-everywhere 1)
+ :custom
+ (ido-enable-flex-matching t)
+ (ido-max-window-height 10)
+ (ido-use-virtual-buffers t))
+
+(use-package ido-vertical-mode
+ :defer 0.3
+ :config
+ (ido-vertical-mode 1)
+ :custom
+ (ido-vertical-define-keys 'C-n-C-p-up-and-down)
+ (ido-vertical-show-count t))
+
+(use-package ido-completing-read+
+ :defer 0.3
+ :after ido
+ :config
+ (ido-ubiquitous-mode 1))
+
+(use-package amx
+ :defer 0.3
+ :config
+ (amx-mode))
+
+(use-package crm-custom
+ :defer 0.3
+ :config
+ (crm-custom-mode 1))
+
+(use-feature icomplete
+ :defer 0.3
+ :config
+ (icomplete-mode 1))