X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;ds=sidebyside;f=emacs.d%2Fconfig.org;h=cd3133a5dccd96123234caff172e8990cbd0eb49;hb=17935db9195d05fba82e63eb96d2d5f3049271d9;hp=4b7e6f4254dc04497c9460d0874868604dcae37f;hpb=5ee171d03a78afb93b3ade7b8b490aaa35333e25;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 4b7e6f4..cd3133a 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -60,6 +60,8 @@ Set system PATH and emacs exec path (when (display-graphic-p) (fringe-mode '(0 . 0))) + ;; (setq-default indicate-empty-lines t) + ;; (setq-default indicate-abuffer-boundaries 'right) #+END_SRC *** Custom file @@ -180,7 +182,7 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. (if window-system (defvar sd/fixed-font-family (cond ((x-list-fonts "Hasklig") "Hasklig") - ((x-list-fonts "Source Code Pro") "Source Code Pro:weight") ;; weigth=light + ((x-list-fonts "Source Code Pro") "Source Code Pro:weight=light") ;; weigth=light ((x-list-fonts "Anonymous Pro") "Anonymous Pro") ((x-list-fonts "M+ 1mn") "M+ 1mn")) "The fixed width font based on what is installed, `nil' if not defined.")) @@ -1178,25 +1180,40 @@ extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-em (set-face-attribute 'variable-pitch nil :font "Source Sans Pro" :height 160) (set-face-attribute 'fixed-pitch nil :font "Source Code Pro" :height (face-attribute 'default :height)) - ;; (add-hook 'text-mode-hook 'variable-pitch-mode) ;; Install Ubuntu Mono fonts and apply it in org-table to align Chinese fonts - (with-eval-after-load "org" - (mapc (lambda (face) - (set-face-attribute face nil :inherit 'fixed-pitch)) - (list 'org-code 'org-block 'org-block-background 'org-block-begin-line 'org-block-end-line)) - (set-face-attribute 'org-table nil :family "Ubuntu Mono" :height 140) - (set-face-attribute 'org-formula nil :family "Ubuntu Mono" :height 140) - ;; org-special-keyword inherited from font-lock-keywork originally; as org is changed to variable-pitch, it cause - ;; the font in special-keywords are not monospace - (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-keyword-face fixed-pitch)) - ;; same as above - (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch)) + ;; (with-eval-after-load "org" + ;; (mapc (lambda (face) + ;; (set-face-attribute face nil :inherit 'fixed-pitch)) + ;; (list + ;; 'org-code + ;; 'org-block + ;; 'org-block-background + ;; 'org-block-begin-line + ;; 'org-block-end-line)) + ;; (set-face-attribute 'org-table nil :family "Ubuntu Mono" :height 140) + ;; (set-face-attribute 'org-formula nil :family "Ubuntu Mono" :height 140) + ;; ;; org-special-keyword inherited from font-lock-keywork originally; as org is changed to variable-pitch, it cause + ;; ;; the font in special-keywords are not monospace + ;; (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-keyword-face fixed-pitch)) + ;; ;; same as above + ;; (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch)) + ;; (set-face-attribute 'org-block-begin-line nil :inherit 'shadow :slant 'italic :foreground nil) + ;; (set-face-attribute 'org-block-end-line nil :inherit 'shadow :slant 'italic :foreground nil) - ;; fix indent broken by variable-pitch-mode - ;; http://emacs.stackexchange.com/questions/26864/variable-pitch-face-breaking-indentation-in-org-mode - (require 'org-indent) - (set-face-attribute 'org-indent nil :inherit '(org-hide fixed-pitch))) + ;; ;; fix indent broken by variable-pitch-mode + ;; ;; http://emacs.stackexchange.com/questions/26864/variable-pitch-face-breaking-indentation-in-org-mode + ;; (require 'org-indent) + ;; (set-face-attribute 'org-indent nil :inherit '(org-hide fixed-pitch))) + + (with-eval-after-load "org" + (let ((default-font-size (- (face-attribute 'default :height) 20))) + (set-face-attribute 'org-code nil :height default-font-size) + (set-face-attribute 'org-block nil :height default-font-size) + (set-face-attribute 'org-table nil :family "Ubutu Mono" :height default-font-size) + (set-face-attribute 'org-formula nil :family "Ubutu Mono" :height default-font-size) + (set-face-attribute 'org-block-begin-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size) + (set-face-attribute 'org-block-end-line nil :background nil :foreground nil :inherit 'shadow :slant 'italic :height default-font-size))) #+END_SRC Also correct the face of =org-meta-line= in =org-table= @@ -1760,6 +1777,7 @@ as a http download client tool (dired-up-directory) (kill-buffer old))) #+END_SRC + ** Dired bindings =C-o= is defined as a global key for window operation, here unset it in dired mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2139,42 +2157,35 @@ Refer, [[http://emacs.stackexchange.com/questions/7908/how-to-make-yasnippet-and ** Color identiifiers mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package color-identifiers-mode - :ensure t) + :ensure t + :init + (dolist (mode '(emacs-lisp-mode-hook + c-mode-hook + c++-mode-hook)) + (add-hook mode #'color-identifiers-mode)) + :diminish color-identifiers-mode) + + (global-prettify-symbols-mode t) #+END_SRC ** Font lock face + #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (set-face-attribute 'font-lock-keyword-face nil :weight 'bold) + (set-face-attribute 'font-lock-keyword-face nil :foreground "#F92672" :weight 'bold) (set-face-attribute 'font-lock-builtin-face nil :weight 'bold) -#+END_SRC + (set-face-attribute 'font-lock-function-name-face nil :foreground "#A6E22E" :weight 'normal :slant 'normal) + (set-face-attribute 'font-lock-variable-name-face nil :foreground "#00FF00") -#+BEGIN_SRC emacs-lisp :tangle yes :results silent (font-lock-add-keywords 'c-mode ;; highlight %s \n '(("\\([%\\][a-zA-Z]\\)" (1 font-lock-keyword-face prepend)) - ("[^[:alpha:]]\\([[:digit:]]*\\)[^[:alpha:]]" (1 font-lock-constant-face append)))) - - - ;; Also make function calls highlighted - (font-lock-add-keywords 'c-mode - '(("\\s\"?\\(\\(\\sw\\|\\s_\\)+\\(<-\\)?\\)\\s\"?*\\s-*(" - (1 font-lock-function-name-face))) t) - - - + ("[^[:alpha:]]\\([[:digit:]]*\\)[^[:alpha:]]" (1 font-lock-constant-face append)) + ;; hex number + ("[^[:alpha:]]\\(0[x\\|X][0-9a-fA-F]*\\)[^[:alpha:]]" (1 font-lock-constant-face append)) + ;; hightlight the function call + ("\\s\"?\\(\\(\\sw\\|\\s_\\)+\\(<-\\)?\\)\\s\"?*\\s-*(" (1 font-lock-function-name-face))) t) #+END_SRC ** Emacs Lisp -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package color-identifiers-mode - :ensure t - :init - (add-hook 'emacs-lisp-mode-hook 'color-identifiers-mode) - - :diminish color-identifiers-mode) - - (global-prettify-symbols-mode t) -#+END_SRC - In Lisp Mode, =M-o= is defined, but I use this for global hydra window. So here disable this key bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questions/298048/how-to-handle-conflicting-keybindings][here]] #+BEGIN_SRC emacs-lisp :tangle yes :results silent