+* Color and Theme
+** highlight setting
+
+- hightligh current line
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ ;; (global-hl-line-mode)
+ ;; don't want high light current line in eshell/term mode
+ (add-hook 'prog-mode-hook 'hl-line-mode)
+ (add-hook 'text-mode-hook 'hl-line-mode)
+ (add-hook 'dired-mode-hook 'hl-line-mode)
+
+ ;; only highlight selected window
+ (setq hl-line-sticky-flag nil)
+
+ ;; (setq-default fill-column 120)
+ ;; (add-hook 'text-mode-hook 'turn-on-auto-fill)
+#+END_SRC
+
+- highlight searching text
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (set-face-attribute 'lazy-highlight nil :background "yellow" :foreground "black" :weight 'bold)
+#+END_SRC
+
+** color theme
+Loading theme should be after all required loaded, refere [[https://github.com/jwiegley/use-package][:defer]] in =use-package=
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package molokai-theme
+ :ensure t)
+
+ (use-package color-theme
+ :ensure t
+ :init (require 'color-theme)
+ :config (use-package color-theme-sanityinc-tomorrow
+ :ensure t
+ :no-require t
+ :config
+ (load-theme 'molokai t)))
+#+END_SRC
+
+Change the Org-mode colors
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ ;; (defun org-src-color-blocks-light ()
+ ;; "Colors the block headers and footers to make them stand out more for lighter themes"
+ ;; (interactive)
+ ;; (custom-set-faces
+ ;; '(org-block-begin-line
+ ;; ((t (:underline "#A7A6AA" :foreground "#008ED1" :background "#EAEAFF"))))
+ ;; '(org-block-background
+ ;; ((t (:background "#FFFFEA"))))
+ ;; '(org-block
+ ;; ((t (:background "#FFFFEA"))))
+ ;; '(org-block-end-line
+ ;; ((t (:overline "#A7A6AA" :foreground "#008ED1" :background "#EAEAFF"))))
+
+ ;; '(mode-line-buffer-id ((t (:foreground "#005000" :bold t))))
+ ;; '(which-func ((t (:foreground "#008000"))))))
+
+ ;; (defun org-src-color-blocks-dark ()
+ ;; "Colors the block headers and footers to make them stand out more for dark themes"
+ ;; (interactive)
+ ;; (custom-set-faces
+ ;; '(org-block-begin-line
+ ;; ((t (:foreground "#008ED1" :background "#002E41"))))
+ ;; '(org-block-background
+ ;; ((t (:background "#000000"))))
+ ;; '(org-block
+ ;; ((t (:background "#000000"))))
+ ;; '(org-block-end-line
+ ;; ((t (:foreground "#008ED1" :background "#002E41"))))
+
+ ;; '(mode-line-buffer-id ((t (:foreground "black" :bold t))))
+ ;; '(which-func ((t (:foreground "green"))))))
+
+ ;; (org-src-color-blocks-dark)
+
+#+END_SRC
+
+improve color for org-mode
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ ;; (deftheme ha/org-theme "Sub-theme to beautify org mode")
+
+ ;; (if window-system
+ ;; (defvar sd/variable-font-tuple
+ ;; (cond ((x-list-fonts "Source Sans Pro") '(:font "Source Sans Pro"))
+ ;; ((x-list-fonts "Lucida Grande") '(:font "Lucida Grande"))
+ ;; ((x-list-fonts "Verdana") '(:font "Verdana"))
+ ;; ((x-family-fonts "Sans Serif") '(:family "Sans Serif"))
+ ;; (nil (warn "Cannot find a Sans Serif Font. Install Source Sans Pro.")))
+ ;; "My variable width font available to org-mode files and whatnot."))
+
+ ;; (defun sd/org-color ()
+ ;; (let* ((sd/fixed-font-tuple (list :font sd/fixed-font-family))
+ ;; (base-font-color (face-foreground 'default nil 'default))
+ ;; (background-color (face-background 'default nil 'default))
+ ;; (primary-color (face-foreground 'mode-line nil))
+ ;; (secondary-color (face-background 'secondary-selection nil 'region))
+ ;; (base-height (face-attribute 'default :height))
+ ;; (headline `(:inherit default :weight bold :foreground ,base-font-color)))
+ ;; (custom-theme-set-faces 'ha/org-theme
+ ;; `(org-agenda-structure ((t (:inherit default :height 2.0 :underline nil))))
+ ;; `(org-verbatim ((t (:inherit 'fixed-pitched :foreground "#aef"))))
+ ;; `(org-table ((t (:inherit 'fixed-pitched))))
+ ;; `(org-block ((t (:inherit 'fixed-pitched))))
+ ;; `(org-block-background ((t (:inherit 'fixed-pitched))))
+ ;; `(org-block-begin-line ((t (:inherit 'fixed-pitched))))
+ ;; `(org-block-end-line ((t (:inherit 'fixed-pitched))))
+ ;; `(org-level-8 ((t (,@headline ,@sd/variable-font-tuple))))
+ ;; `(org-level-7 ((t (,@headline ,@sd/variable-font-tuple))))
+ ;; `(org-level-6 ((t (,@headline ,@sd/variable-font-tuple))))
+ ;; `(org-level-5 ((t (,@headline ,@sd/variable-font-tuple))))
+ ;; `(org-level-4 ((t (,@headline ,@sd/variable-font-tuple
+ ;; :height ,(round (* 1.1 base-height))))))
+ ;; `(org-level-3 ((t (,@headline ,@sd/variable-font-tuple
+ ;; :height ,(round (* 1.25 base-height))))))
+ ;; `(org-level-2 ((t (,@headline ,@sd/variable-font-tuple
+ ;; :height ,(round (* 1.5 base-height))))))
+ ;; `(org-level-1 ((t (,@headline ,@sd/variable-font-tuple
+ ;; :height ,(round (* 1.75 base-height))))))
+ ;; `(org-document-title ((t (,@headline ,@sd/variable-font-tuple :height 1.5 :underline nil)))))))
+
+
+#+END_SRC
+
+
+
+** Rainbow-delimiter
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package rainbow-delimiters
+ :ensure t
+ :init
+ (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
+#+END_SRC
+
+** page-break-lines
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package page-break-lines
+ :ensure t
+ :config
+ (global-page-break-lines-mode))
+#+END_SRC
+
+** rainbow-mode
+
+Enable rainbow mode in emacs lisp mode
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package rainbow-mode
+ :ensure t
+ ; :init
+ ; (add-hook emacs-lisp-mode-hook 'rainbow-mode)
+ )
+
+#+END_SRC
+
+** cusor color
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (if (display-graphic-p)
+ (set-cursor-color 'red))
+#+END_SRC
+
+* Font Settingh
+** font lock
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (global-font-lock-mode 1)
+#+END_SRC
+
+** fonts family