-(trap (iswitchb-mode))
-(global-set-key [?\C-x ?w left] 'windmove-left)
-(global-set-key [?\C-x ?w ?h] 'windmove-left)
-(global-set-key [?\C-x ?w up] 'windmove-up)
-(global-set-key [?\C-x ?w ?k] 'windmove-up)
-(global-set-key [?\C-x ?w down] 'windmove-down)
-(global-set-key [?\C-x ?w ?j] 'windmove-down)
-(global-set-key [?\C-x ?w right] 'windmove-right)
-(global-set-key [?\C-x ?w ?l] 'windmove-right)
-(global-set-key [?\C-x ?g ?l] 'org-store-link)
-(global-set-key [?\C-x ?g ?a] 'org-agenda)
-(global-set-key [?\C-x ?g ?b] 'org-iswitchb)
-(global-set-key [?\C-x ?t ?i] 'timeclock-in)
-(global-set-key [?\C-x ?t ?c] 'timeclock-change)
-(global-set-key [?\C-x ?t ?o] 'timeclock-out)
-(global-set-key [?\C-x ?t ?r] 'timeclock-reread-log)
-(global-set-key [?\C-x ?t ?w] 'timeclock-workday-remaining-string)
-(global-set-key [?\C-x ?t ?s] 'timeclock-status-string)
-(global-set-key [?\C-x ?t ?p] 'nc-timesheet-prepare)
-(global-set-key [?\C-x ?t ?\C-m] 'nc-timesheet-submit)
-(global-set-key [?\M-#] 'calc-dispatch)
-(global-set-key [?\C-x ?/] 'auto-fill-mode)
-(global-set-key [?\C-x ?w ?d] 'mdw-divvy-window)
-(global-set-key [insertchar] 'overwrite-mode)
-(global-set-key [?\C-x ?\C-n] 'skel-create-file)
-(global-set-key [?\C-x ?4 ?n] 'skel-create-file-other-window)
-(global-set-key [?\C-x ?5 ?n] 'skel-create-file-other-frame)
-(global-set-key [delete] 'delete-char)
-(global-set-key [?\M-q] 'mdw-fill-paragraph)
-(global-set-key [?\C-h ?\C-m] 'manual-entry)
-(global-set-key [C-M-backspace] 'backward-kill-sexp)
-(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
-(global-set-key [vertical-scroll-bar C-down-mouse-1]
- 'mouse-drag-vertical-line)
-(global-set-key [vertical-scroll-bar C-mouse-1]
- #'(lambda () (interactive)))
-(global-set-key [XF86WakeUp] "")
-(and (not mdw-fast-startup) (fboundp 'hippie-expand)
- (global-set-key [?\M-/] 'hippie-expand))
+(trap (require 'ido) (ido-mode 1)
+ (require 'ido-completing-read+)
+ (unless (fboundp 'ido-ubiquitous-mode) (require 'ido-ubiquitous))
+ (ido-ubiquitous-mode 1)
+ (setq ido-cr+-max-items nil)
+ (let ((excludes `(,(concat "\\`"
+ "gtags-find-"
+ "\\(" "tag"
+ "\\|file"
+ "\\|rtag"
+ "\\|symbol"
+ "\\)"
+ "\\(" "\\|-other-window"
+ "\\)"
+ "\\'"))))
+ (if (boundp 'ido-ubiquitous-command-overrides)
+ (setq ido-ubiquitous-command-overrides
+ (append ido-ubiquitous-command-overrides
+ (mapcar (lambda (exclude)
+ (if (symbolp exclude)
+ `(enable-old exact
+ ,(symbol-name exclude))
+ `(enable-old regexp ,exclude)))
+ excludes)))
+ (setq ido-cr+-function-blacklist
+ (append ido-cr+-function-blacklist excludes))))
+ (setq magit-completing-read-function 'magit-ido-completing-read)
+ (require 'smex) (smex-initialize) (global-set-key [?\M-x] 'smex))
+
+(progn
+ (global-set-key [?\e ?\e] 'mdw-wrong)
+ (global-set-key [?\e ?\C-\] ?\C-\]] 'keyboard-escape-quit)
+ (global-set-key [?\C-c ?\M-x] 'execute-extended-command)
+ (global-set-key [?\C-c ?d ?a] 'devhelp-assistant-word-at-point)
+ (global-set-key [?\C-c ?d ?w] 'devhelp-word-at-point)
+ (global-set-key [?\C-c ?g ?a] 'org-agenda)
+ (global-set-key [?\C-c ?g ?b] 'org-iswitchb)
+ (global-set-key [?\C-c ?g ?l] 'org-store-link)
+ (global-set-key [?\C-c ?k] 'mdw-compile)
+ (global-set-key [?\C-c ?m ?4 ?f] 'magit-find-file-other-window)
+ (global-set-key [?\C-c ?m ?b] 'magit-blame)
+ (global-set-key [?\C-c ?m ?d] 'magit-dispatch-popup)
+ (global-set-key [?\C-c ?m ?f] 'magit-find-file)
+ (global-set-key [?\C-c ?m ?m] 'magit-status)
+ (global-set-key [?\C-c ?m ?r] 'magit-list-repositories)
+ (global-set-key [?\C-c ?m ?w] 'magit-wip-log)
+ (global-set-key [?\C-c ?p ?s] 'mdw-mpc-stop)
+ (global-set-key [?\C-c ?p ?<] 'mdw-mpc-prev)
+ (global-set-key [?\C-c ?p ?>] 'mdw-mpc-next)
+ (global-set-key [?\C-c ?p ?+] 'mdw-mpc-louder)
+ (global-set-key [?\C-c ?p ?-] 'mdw-mpc-quieter)
+ (global-set-key [?\C-c ?p ??] 'mdw-mpc-now-playing)
+ (global-set-key [?\C-c ?p ?p] 'mdw-mpc-play-or-pause)
+ (global-set-key [?\C-c ?t ?4 ?.] 'gtags-find-tag-other-window)
+ (global-set-key [?\C-c ?t ?.] 'gtags-find-tag)
+ (global-set-key [?\C-c ?t ?R] 'timeclock-reread-log)
+ (global-set-key [?\C-c ?t ?,] 'gtags-pop-stack)
+ (global-set-key [?\C-c ?t ?c] 'timeclock-change)
+ (global-set-key [?\C-c ?t ?i] 'timeclock-in)
+ (global-set-key [?\C-c ?t ?o] 'timeclock-out)
+ (global-set-key [?\C-c ?t ?r] 'gtags-find-rtag)
+ (global-set-key [?\C-c ?t ?s] 'timeclock-status-string)
+ (global-set-key [?\C-c ?t ?t] 'gtags-find-tag-from-here)
+ (global-set-key [?\C-c ?t ?w] 'timeclock-workday-remaining-string)
+ (global-set-key [?\C-c ?v ?v] 'mdw-auto-revert)
+ (global-set-key [?\C-c ?w ?d] 'mdw-divvy-window)
+ (global-set-key [?\C-c ?w ?h] 'windmove-left)
+ (global-set-key [?\C-c ?w ?j] 'windmove-down)
+ (global-set-key [?\C-c ?w ?k] 'windmove-up)
+ (global-set-key [?\C-c ?w ?l] 'windmove-right)
+ (global-set-key [?\C-c ?w ?w] 'mdw-set-frame-width)
+ (global-set-key [?\C-c ?w up] 'windmove-up)
+ (global-set-key [?\C-c ?w down] 'windmove-down)
+ (global-set-key [?\C-c ?w left] 'windmove-left)
+ (global-set-key [?\C-c ?w right] 'windmove-right)
+ (global-set-key [?\C-h ?\C-m] 'manual-entry)
+ (global-set-key [?\C-x ?4 ?\C-j] 'dired-jump-other-window)
+ (global-set-key [?\C-x ?4 ?j] 'dired-jump-other-window)
+ (global-set-key [?\C-x ?\C-j] 'dired-jump)
+ (global-set-key [?\C-x ?\C-n] 'skel-create-file)
+ (global-set-key [?\C-x ?4 ?n] 'skel-create-file-other-window)
+ (global-set-key [?\C-x ?5 ?n] 'skel-create-file-other-frame)
+ (global-set-key [?\C-x ?3] 'mdw-split-window-horizontally)
+ (global-set-key [?\C-x ?/] 'auto-fill-mode)
+ (global-set-key [?\M-#] 'calc-dispatch)
+ (global-set-key [?\M-q] 'mdw-fill-paragraph)
+ (global-set-key [delete] 'delete-char)
+ (global-set-key [insertchar] 'overwrite-mode)
+ (global-set-key [C-M-backspace] 'backward-kill-sexp)
+ (global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
+ (global-set-key [vertical-scroll-bar C-down-mouse-1]
+ 'mouse-drag-vertical-line)
+ (global-set-key [vertical-scroll-bar C-mouse-1]
+ #'(lambda () (interactive)))
+ (global-set-key [M-S-mouse-3] 'imenu)
+ (global-set-key [XF86WakeUp] "")
+ (global-set-key [f11] 'mdw-toggle-full-screen)
+ (and (not mdw-fast-startup) (fboundp 'hippie-expand)
+ (global-set-key [?\M-?] 'hippie-expand)))
+
+(eval-after-load "hippie-exp"
+ '(setq hippie-expand-try-functions-list
+ (remove-if (lambda (name)
+ (memq name '(try-expand-list
+ try-expand-list-all-buffers)))
+ hippie-expand-try-functions-list)))
+
+(autoload 'dired-jump "dired-x")
+(autoload 'dired-jump-other-window "dired-x")
+
+(eval-after-load "dired"
+ '(progn
+ (or (lookup-key dired-mode-map [?\C-x ?\C-q])
+ (define-key dired-mode-map [?\C-x ?\C-q]
+ 'wdired-change-to-wdired-mode))
+ (trap (require 'dired-x))
+ (and (fboundp 'dired-do-relsymlink)
+ (define-key dired-mode-map [?\C-c ?\C-s] 'dired-do-relsymlink))))
+(setq dired-guess-shell-alist-user
+ '(("\\.pdf\\'" "mupdf")))