 ;;;;;;;;;;;;;;;;
 ;; navigation ;;
 ;;;;;;;;;;;;;;;;
+
+(use-package neotree
+  ;; defer loading until the mode is called
+  :bind ("<C-M-S-tab>" . neotree-toggle)
+  :config
+  (set-face-attribute 'neo-root-dir-face nil :foreground "azure" :height 120)
+  (set-face-attribute 'neo-expand-btn-face nil :foreground "azure" :height 120)
+  (set-face-attribute 'neo-dir-link-face nil :foreground "ivory" :height 120)
+  (set-face-attribute 'neo-file-link-face nil :foreground "ivory" :height 120 :slant 'oblique)
+  (setq neo-theme 'nerd
+        neo-window-width 20
+        neo-window-fixed-size nil
+        neo-show-updir-line nil
+        neo-show-hidden-files t 
+        neo-create-file-auto-open t
+        neo-smart-open t))
 
 (use-package ido
   ;; don't need ido if I just want to click open some file

(require 'cl)

(defvar *emacs-load-time*
  ;; for recording load time
  (cdr (current-time)))

;;;;;;;;;;;;;;;;;;;;
;; customizations ;;
;;;;;;;;;;;;;;;;;;;;

;; custom-set-variables works better than setq and setq-default,
;; and custom-set-faces better than set-face-attributes;
;; But if you let Custom edit them, it will mess the comments.

(custom-set-variables
 ;; frame

	       ("a" . mc/edit-beginnings-of-lines)    ;; anfang
	       ("e" . mc/edit-ends-of-lines)          ;; ende
	       ("l" . mc/edit-lines)                  ;; line
	       ("m" . mc/mark-all-like-this-dwim)     ;; mark
	       ("x" . mc/mark-all-in-region)	      ;; x
	       ("t" . mc/mark-sgml-tag-pair)          ;; tag
	       ("d" . mc/mark-all-like-this-in-defun) ;; defun
	       ("h" . mc/mark-all-like-this)	      ;; (w)hole
