We need at least one of these, even a blank one to avoid error on startup.
#+begin_src emacs-lisp
+(ivy-mode 1)
+(add-hook 'text-mode-hook (lambda () (auto-fill-mode t)))
+(require 'counsel)
+(setq counsel-find-file-at-point t)
+#+end_src
+
+
+#+begin_src sh
+;; M-3 = test key
+(global-set-key (kbd "M-3") 'my-as-off)
+(setq x 5)
+
+#+end_src
+
+* ido
+#+begin_src emacs-lisp
+(require 'ido)
+;; easier to read with just spaces as separator
+(setf (nth 2 ido-decorations) " ")
+;; note, at one point I liked this, but I don't now.
+;;(setq ido-max-prospects 20)
+
+;; using counsel/ivy instead
+;;(ido-mode t)
+;; sets read-file-name-function, and read-buffer-function to ido.
+;; searching through the emacs source code, it seems this is used
+;; very few if any places.
+;;(ido-everywhere t)
#+end_src