X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=4e4968576dd70addb5d92d1028a609e2ba7f8b47;hb=d0ca94df3b13cde1de1e88b897d34b68d1081c80;hp=0a7634da9fbfc2632dd269c9be246824445a8360;hpb=761b2e74887c2689c17c06f14d40bdaad9214d08;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 0a7634d..4e49685 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -33,7 +33,10 @@ Set system PATH and emacs exec path #+BEGIN_SRC emacs-lisp :tangle yes :results silent (scroll-bar-mode 0) (tool-bar-mode 0) - (menu-bar-mode 1) + + (if window-system + (menu-bar-mode 1) + (menu-bar-mode 0)) ;; (setq debug-on-error t) (setq inhibit-startup-message t) @@ -174,7 +177,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") + ((x-list-fonts "Source Code Pro") "Source Code Pro:weight") ;; 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.")) @@ -182,11 +185,11 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. Setting the fonts alignment issue #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (if window-system - (when sd/fixed-font-family - (set-frame-font sd/fixed-font-family) - (set-face-attribute 'default nil :font sd/fixed-font-family :height 130) - (set-face-font 'default sd/fixed-font-family))) + (if window-system + (when sd/fixed-font-family + (set-frame-font sd/fixed-font-family) + (set-face-attribute 'default nil :font sd/fixed-font-family :height 120) + (set-face-font 'default sd/fixed-font-family))) #+END_SRC *** Chinese fonts @@ -245,11 +248,21 @@ Fix the font alignment issue when both Chinese and English hybird in org-mode ta #+BEGIN_SRC emacs-lisp :tangle yes :results silent ;; Setup font size based on emacs-font-size-pair - (set-font emacs-english-font emacs-cjk-font '(13 . 16)) + ;; (if window-system + ;; (set-font emacs-english-font emacs-cjk-font '(13 . 16))) + ;; (global-set-key (kbd "s-=") 'increase-emacs-font-size) ;; (global-set-key (kbd "s--") 'decrease-emacs-font-size) + ;; set different fonts (chinese) size for org-mode. + (defun sd/org-buffer-font () + "My font setting for org-mode" + (interactive) + (setq buffer-face-mode-face '(:family "Source Sans Code" :height 160)) + (buffer-face-mode)) + + ;; (add-hook 'org-mode-hook 'sd/org-buffer-font) #+END_SRC ** Color Theme @@ -718,29 +731,32 @@ Always indents header, and hide header leading starts so that no need type =#+ST (setq org-startup-with-inline-images t) ;; latex preview (setq org-startup-with-latex-preview t) - (setq org-format-latex-options (plist-put org-format-latex-options :scale 1.2))) + (setq org-format-latex-options (plist-put org-format-latex-options :scale 1.2)) + (require 'org-habit) + (add-to-list 'org-modules 'org-habit) + (setq org-habit-graph-column 50) + (setq org-hide-emphasis-markers t)) (el-get-bundle hasu/emacs-ob-racket :features ob-racket) - (org-babel-do-load-languages - 'org-babel-load-languages - '((python . t) - (C . t) - (perl . t) - (calc . t) - (latex . t) - (java . t) - (ruby . t) - (lua . t) - (lisp . t) - (scheme . t) - (racket . t) - (sh . t) - (sqlite . t) - (js . t) - (gnuplot . t) - (ditaa . t))) + (org-babel-do-load-languages 'org-babel-load-languages + '((python . t) + (C . t) + (perl . t) + (calc . t) + (latex . t) + (java . t) + (ruby . t) + (lua . t) + (lisp . t) + (scheme . t) + (racket . t) + (sh . t) + (sqlite . t) + (js . t) + (gnuplot . t) + (ditaa . t))) ;; use current window for org source buffer editting (setq org-src-window-setup 'current-window ) @@ -944,9 +960,9 @@ Setting agenda files and the agenda view "~/org/work.org"))) ;; only show today's tasks in agenda view - (setq org-agenda-span 'day) + ;; (setq org-agenda-span 'day) ;; Use current windows for agenda view - (setq org-agenda-window-setup 'current-window) + ;; (setq org-agenda-window-setup 'current-window) ;; show all feature entries for repeating tasks, ;; this is already setting by default @@ -1069,6 +1085,41 @@ extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-em '("m" "\\begin{equation}\n?\n\\end{equation}")) #+END_SRC +** Org theme +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (set-face-attribute 'variable-pitch nil :font "Calibri" :height 160) + (set-face-attribute 'fixed-pitch nil :font "Source Code Pro" :height 120) + + (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" + (set-face-attribute 'org-code nil :inherit 'fixed-pitch) + (set-face-attribute 'org-block nil :inherit 'fixed-pitch) + (set-face-attribute 'org-table nil :family "Ubuntu Mono" :height 120) + (set-face-attribute 'org-block-background nil :inherit '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))) +#+END_SRC + +*** variable-pich mode +[[https://yoo2080.wordpress.com/2013/05/30/monospace-font-in-tables-and-source-code-blocks-in-org-mode-proportional-font-in-other-parts/][monospace font in tables and source code blocks in org-mode, proportional font in other parts]] +#+BEGIN_SRC emacs-lisp :tangle yes :results silent +; (set-face-attribute 'variable-pitch nil :font "Calibri" :height 160) +; (set-face-attribute 'fixed-pitch nil :font "Source Code Pro" :height 130) + + + ;; (add-hook 'text-mode-hook 'variable-pitch-mode) + + ;; monospace mode for block in org-mode + ;; (with-eval-after-load "org" + ;; (mapc (lambda (face) + ;; (set-face-attribute face nil :inherit 'fixed-pitch)) + ;; (list 'org-code 'org-block 'org-table 'org-block-background))) +#+END_SRC + * Magit [[https://github.com/magit/magit][Magit]] is a very cool git interface on Emacs. and Defined keys, using vi keybindings, Refer abo-abo's setting [[https://github.com/abo-abo/oremacs/blob/c5cafdcebc88afe9e73cc8bd40c49b70675509c7/modes/ora-nextmagit.el][here]] @@ -1249,29 +1300,21 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex #+END_SRC ** Line Number - Enable linum mode on programming modes - #+BEGIN_SRC emacs-lisp :tangle yes :results silent (add-hook 'prog-mode-hook 'linum-mode) - ;; (add-hook 'prog-mode-hook (lambda () - ;; (setq-default indicate-empty-lines t))) #+END_SRC Fix the font size of line number - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (defun fix-linum-size () - (interactive) - (set-face-attribute 'linum nil :height 110)) + (interactive) + (set-face-attribute 'linum nil :height 110)) (add-hook 'linum-mode-hook 'fix-linum-size) - #+END_SRC I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like the =set relativenumber= on =vim= - #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package linum-relative :ensure t @@ -1294,14 +1337,11 @@ I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like #+END_SRC ** Save File Position - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (require 'saveplace) (setq-default save-place t) (setq save-place-forget-unreadable-files t) (setq save-place-skip-check-regexp "\\`/\\(?:cdrom\\|floppy\\|mnt\\|/[0-9]\\|\\(?:[^@/:]*@\\)?[^@/:]*[^@/:.]:\\)") - #+END_SRC ** Multi-term @@ -1424,11 +1464,7 @@ When see function by =C-h f=, and visit the source code, I would like the buffer (unless (equal major-mode 'Info-mode) (unless (> (length (window-list)) 1) (split-window-right)) - (other-window 1) - ;; (info) - )) - - ;; (global-set-key (kbd "C-h i") 'sd/info-mode) + (other-window 1))) ;; open Info buffer in other window instead of current window (defadvice info (before my-info (&optional file buf) activate) @@ -1440,13 +1476,8 @@ When see function by =C-h f=, and visit the source code, I would like the buffer ** Demo It #+BEGIN_SRC emacs-lisp :tangle yes :results silent - ;; (el-get-bundle howardabrams/demo-it) - (use-package org-tree-slide :ensure t) - - ;; (use-package yasnippet - ;; :ensure t) #+END_SRC ** Presentation @@ -1772,7 +1803,7 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files (define-key company-active-map (kbd "TAB") #'company-complete-selection) (define-key company-active-map [tab] #'company-complete-selection) (global-company-mode) - (setq company-global-modes '(not org-mode))) + (setq company-global-modes '(not org-mode magit-status-mode))) (use-package company-statistics :ensure t @@ -2708,11 +2739,6 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= (:map projectile-mode-map ("s-t" . projectile-persp-switch-project))) - ;; (defun sd/change-default-directory (buffer dir) - ;; "change defafult directory of buffer to dir" - ;; (with-current-buffer buffer - ;; (cd dir))) - ;; change default-directory of scratch buffer to projectile-project-root (defun sd/project-switch-action () "Change default-directory of scratch buffer to current projectile-project-root directory" @@ -2722,9 +2748,7 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= (buffer-name buffer)) (let ((root (projectile-project-root))) (with-current-buffer buffer - (cd root))) - ;; (sd/change-default-directory buffer (projectile-project-root)) - ))) + (cd root)))))) #+END_SRC *** project config =super= keybindings @@ -3332,6 +3356,7 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d *** TODO make expand-region hydra work with lispy selected ** =C-w= delete backward word Refer [[https://github.com/fnwiya/dotfiles/blob/c9ca79f1b22c919d9f4c3a0f944ba8281255a594/setup/.emacs.d/loader-init/_90-kill-region-or-backward-kill-word.el][kill-region-or-backward-kill-word]] + #+BEGIN_SRC emacs-lisp :tangle yes :results silent (defun sd/kill-region-or-backward-kill-word () (interactive) @@ -3342,14 +3367,11 @@ Refer [[https://github.com/fnwiya/dotfiles/blob/c9ca79f1b22c919d9f4c3a0f944ba828 (global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word) #+END_SRC -* key -- passion -- vision -- mission - * TODO todolist ** rucket ** player video on iphone for ** SICP ** music searcher search music on some music web site + +