(setq exec-path (append exec-path '("/Library/TeX/texbin/")))
#+END_SRC
-Set the emacs load path
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- ;; (add-to-list 'load-path "~/.emacs.d/elisp")
-#+END_SRC
-
** Package Initialization
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(require 'package)
#+END_SRC
** Font Setting
-syntax highlighting
+*** syntax highlighting
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(global-font-lock-mode 1)
#+END_SRC
-[[https://github.com/i-tu/Hasklig][Hasklig]] and Source Code Pro, defined fonts family
+*** [[https://github.com/i-tu/Hasklig][Hasklig]] and Source Code Pro, defined fonts family
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(if window-system
(defvar sd/fixed-font-family
(set-face-font 'default sd/fixed-font-family)))
#+END_SRC
-Fix the font alignment issue when both Chinese and English hybird in org-mode table
+*** Chinese fonts
+Fix the font alignment issue when both Chinese and English hybird in org-mode table. Refer [[http://coldnew.github.io/blog/2013/11-16_d2f3a/][解決 org-mode 表格內中英文對齊的問題]]
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(defvar emacs-english-font "Source Code Pro" "The font name of English.")
- ;; (defvar emacs-cjk-font "Hiragino Sans GB W3" "The font name for CJK.")
(defvar emacs-cjk-font "STHeiti" "The font name for CJK.")
- ;; (defvar emacs-cjk-font "chinese-gbk" "The font name for CJK.")
- (defvar emacs-font-size-pair '(15 . 18) "Default font size pair for (english . chinese)")
+ (defvar emacs-font-size-pair '(13 . 16) "Default font size pair for (english . chinese)")
(defvar emacs-font-size-pair-list
'(( 5 . 6) (10 . 12)
- (11 . 13) (12 . 14)
- (13 . 16) (14 . 15) (15 . 18) (16 . 19) (17 . 20)
- (18 . 21) (19 . 22) (20 . 24) (21 . 26)
+ (11 . 14) (12 . 14)
+ (13 . 16) (14 . 16) (15 . 18) (16 . 20) (17 . 20)
+ (18 . 22) (19 . 22) (20 . 24) (21 . 26)
(24 . 28) (26 . 32) (28 . 34)
(30 . 36) (34 . 40) (36 . 44))
"This list is used to store matching (englis . chinese) font-size.")
(defun set-font (english chinese size-pair)
"Setup emacs English and Chinese font on x window-system."
-
(if (font-exist-p english)
(set-frame-font (format "%s:pixelsize=%d" english (car size-pair)) t))
-
(if (font-exist-p chinese)
- (dolist (charset '(kana han symbol cjk-misc bopomofo))
+ (dolist (charset '(han cjk-misc) ;; '(kana han symbol cjk-misc bopomofo)
+ )
(set-fontset-font (frame-parameter nil 'font) charset
(font-spec :family chinese :size (cdr size-pair))))))
- ;; Setup font size based on emacs-font-size-pair
- ;; (set-font emacs-english-font emacs-cjk-font emacs-font-size-pair)
-
(defun emacs-step-font-size (step)
"Increase/Decrease emacs's font size."
(let ((scale-steps emacs-font-size-pair-list))
(defun decrease-emacs-font-size ()
"Increase emacs's font-size acording emacs-font-size-pair-list."
(interactive) (emacs-step-font-size -1))
+#+END_SRC
+
+#+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))
- ;; (global-set-key (kbd "C-=") 'increase-emacs-font-size)
- ;; (global-set-key (kbd "C--") 'decrease-emacs-font-size)
+ ;; (global-set-key (kbd "s-=") 'increase-emacs-font-size)
+ ;; (global-set-key (kbd "s--") 'decrease-emacs-font-size)
#+END_SRC
(setq org-use-speed-commands t)
(setq org-completion-use-ido t)
(setq org-startup-with-inline-images t)
- ;; (setq org-emphasis-regexp-components
- ;; ;; markup 记号前后允许中文
- ;; (list (concat " \t('\"{" "[:nonascii:]")
- ;; (concat "- \t.,:!?;'\")}\\[" "[:nonascii:]")
- ;; " \t\r\n,\"'"
- ;; "."
- ;; 1))
- )
+ ;; latex preview
+ (setq org-startup-with-latex-preview t)
+ (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))
+
+ (el-get-bundle hasu/emacs-ob-racket
+ :features ob-racket)
(org-babel-do-load-languages
'org-babel-load-languages
(lua . t)
(lisp . t)
(scheme . t)
+ (racket . t)
(sh . t)
(sqlite . t)
(js . t)
"~/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
#+END_SRC
+** Export Html
+Color higlight the source code block in exported html, [[http://stackoverflow.com/questions/24082430/org-mode-no-syntax-highlighting-in-exported-html-page][org-mode-no-syntax-highlighting-in-exported-html-page]]
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package htmlize
+ :ensure t)
+#+END_SRC
+
** Org structure template
extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-emacs/#orgheadline94][Extend org-modes' esay templates]]
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (add-to-list 'org-structure-template-alist
- '("E" "#+BEGIN_SRC emacs-lisp :tangle yes :results silent\n?\n#+END_SRC"))
- (add-to-list 'org-structure-template-alist
- '("S" "#+BEGIN_SRC sh :results output replace\n?\n#+END_SRC"))
- (add-to-list 'org-structure-template-alist
- '("p" "#+BEGIN_SRC plantuml :file uml.png \n?\n#+END_SRC"))
- (add-to-list 'org-structure-template-alist
- '("P" "#+BEGIN_SRC perl \n?\n#+END_SRC"))
- (add-to-list 'org-structure-template-alist
- '("f" "#+BEGIN_SRC fundamental :tangle ?\n\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("E" "#+BEGIN_SRC emacs-lisp :tangle yes :results silent\n?\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("R" "#+BEGIN_SRC racket :tangle no :results output replace\n?\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("S" "#+BEGIN_SRC sh :results output replace\n?\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("p" "#+BEGIN_SRC plantuml :file uml.png \n?\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("P" "#+BEGIN_SRC perl \n?\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("f" "#+BEGIN_SRC fundamental :tangle ?\n\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("C" "#+BEGIN_SRC c :tangle ?\n\n#+END_SRC"))
+ (add-to-list 'org-structure-template-alist
+ '("m" "\\begin{equation}\n?\n\\end{equation}"))
#+END_SRC
* Magit
(other-window 1)
(if (projectile-project-p)
(projectile-run-eshell)
- (eshell))
- ;; (let ((dir default-directory))
-
- ;; (split-window-vertically (- (/ (window-total-height) 3)))
- ;; (other-window 1)
- ;; (unless (and (boundp 'eshell-buffer-name) (get-buffer eshell-buffer-name))
- ;; (eshell))
- ;; (switch-to-buffer eshell-buffer-name)
- ;; (goto-char (point-max))
- ;; (eshell-kill-input)
- ;; (insert (format "cd %s" dir))
- ;; (eshell-send-input))
- )))
-
- ;; (global-unset-key (kbd "M-`"))
+ (eshell)))))
+
(global-set-key (kbd "s-e") 'sd/toggle-project-eshell)
#+END_SRC
;; (info)
))
- ;; (global-set-key (kbd "C-h i") 'sd/info-mode)
-
;; open Info buffer in other window instead of current window
(defadvice info (before my-info (&optional file buf) activate)
(sd/info-mode))
("\\.\\(?:xcf\\)\\'" "gimp")
("\\.csv\\'" "libreoffice")
("\\.tex\\'" "pdflatex" "latex")
- ("\\.\\(?:mp4\\|mkv\\|avi\\|flv\\|ogv\\)\\(?:\\.part\\)?\\'" "mplayer")
+ ("\\.\\(?:mp4\\|mkv\\|avi\\|rmvb\\|flv\\|ogv\\)\\(?:\\.part\\)?\\'" "mplayer")
("\\.\\(?:mp3\\|flac\\)\\'" "rhythmbox")
("\\.html?\\'" "open")
("\\.dmg\\'" "open")
(: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"
(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
;; Windows undo - redo
("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo")
("r" (progn (winner-redo) (setq this-command 'winner-redo)) "redo")
-
+
;; ibuffer, dired, eshell, bookmarks
;; ("C-i" other-window nil :exit t)
("C-b" ido-switch-buffer nil :exit t)
;; quit
("q" nil "cancel")
("<ESC>" nil)
- ("C-h" nil nil :exit t)
- ("C-j" nil nil :exit t)
- ;; ("C-k" nil :exit t)
- ("C-l" nil nil :exit t)
+ ("C-h" windmove-left nil :exit t)
+ ("C-j" windmove-down nil :exit t)
+ ("C-k" windmove-up :exit t)
+ ("C-l" windmove-right nil :exit t)
("C-;" nil nil :exit t)
("n" nil nil :exit t)
("[" nil nil :exit t)
*** 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)
(global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word)
#+END_SRC
-* key
-- passion
-- vision
-- mission
+
* TODO todolist
** rucket