(setq ido-enable-flex-matching t) (setq ido-everywhere t) (ido-mode 1) (setq ido-use-filename-at-point 'guess) (setq ido-create-new-buffer 'always) (setq-default confirm-nonexistent-file-or-buffer nil) (setq ido-file-extensions-order '(".cc" ".h")) (setq ido-ignore-extensions t) (defun my-ido-prioritize-visible-buffers () (when (eq this-command 'ido-kill-buffer) (let* ((visible (mapcar #'buffer-name (mapcar #'window-buffer (window-list)))) (visible-bufs nil) (other-bufs nil)) (dolist (buf ido-temp-list) (if (member buf visible) (push buf visible-bufs) (push buf other-bufs))) (setq ido-temp-list (append (nreverse visible-bufs) (nreverse other-bufs)))))) (add-hook 'ido-make-buffer-list-hook 'my-ido-prioritize-visible-buffers) (provide 'my-ido)