X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;ds=sidebyside;f=emacs.d%2Fconfig.org;h=49f9377df766b96d180a205f3d8eb485e010865b;hb=98600d424e51abe4c0ddae99802640b72eec5c16;hp=9f86ad93125e031d8f4d1086912c26f011375364;hpb=1629b3a51574a01fcaa1d8b5c7e55d08e44f3cb0;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 9f86ad9..49f9377 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -133,17 +133,6 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. :ensure t) #+END_SRC -* Mac Specific -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - ;; (defconst *is-a-mac* (eq system-type 'darwin)) - ;; (setq mouse-wheel-scroll-amount '(1 - ;; ((shift) . 5) - ;; ((control)))) - - - ;; (setq-default indicate-empty-lines t) -#+END_SRC - * Color and Fonts Settings ** highlight current line #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -267,6 +256,8 @@ Loading theme should be after all required loaded, refere [[https://github.com/j #+BEGIN_SRC emacs-lisp :tangle yes :results silent (setq vc-follow-symlinks t) + (use-package molokai-theme + :ensure t) (use-package color-theme :ensure t @@ -735,7 +726,13 @@ Always indents header, and hide header leading starts so that no need type =#+ST (add-to-list 'org-modules 'org-habit) (setq org-habit-graph-column 50) (setq org-hide-emphasis-markers t) - (setq org-html-validation-link nil)) + (setq org-html-validation-link nil) + ;; open link when return clicked + (setq org-return-follows-link t) + ;; open the ppt file by external open instead of emacs + (add-to-list 'org-file-apps '("\\.pptx" . "open %s")) + (add-to-list 'org-file-apps '("\\.doc" . "open %s")) + (setq org-image-actual-width nil)) #+END_SRC @@ -745,8 +742,8 @@ Always indents header, and hide header leading starts so that no need type =#+ST :features ob-racket) ;; Lua support - (use-package ob-lua - :ensure t) + ;(use-package ob-lua + ; :ensure t) ;; use current window for org source buffer editting @@ -769,7 +766,7 @@ Always indents header, and hide header leading starts so that no need type =#+ST (latex . t) (java . t) (ruby . t) - (lua . t) + ; (lua . t) (lisp . t) (scheme . t) (racket . t) @@ -789,7 +786,9 @@ Always indents header, and hide header leading starts so that no need type =#+ST (org-display-inline-images) (error nil))) - + ;; ditaa artist mode + (with-eval-after-load "artist" + (define-key artist-mode-map [down-mouse-3] 'artist-mouse-choose-operation)) #+END_SRC *** plantUML [[http://eschulte.github.io/babel-dev/DONE-integrate-plantuml-support.html][DONE-integrate-plantuml-support]] @@ -841,7 +840,9 @@ cause we cannot input =[= and =]=, so here I unset this mappings. And redifined (use-package worf :ensure t :commands worf-mode - :init (add-hook 'org-mode-hook 'worf-mode)) + :init + (require 'ivy) + (add-hook 'org-mode-hook 'worf-mode)) #+END_SRC ** Get Things Done @@ -1107,6 +1108,21 @@ Color higlight the source code block in exported html, [[http://stackoverflow.co ** 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 + ;; ‘s’ ‘#+BEGIN_SRC ... #+END_SRC’ + ;; ‘e’ ‘#+BEGIN_EXAMPLE ... #+END_EXAMPLE’ + ;; ‘q’ ‘#+BEGIN_QUOTE ... #+END_QUOTE’ + ;; ‘v’ ‘#+BEGIN_VERSE ... #+END_VERSE’ + ;; ‘c’ ‘#+BEGIN_CENTER ... #+END_CENTER’ + ;; ‘l’ ‘#+BEGIN_LaTeX ... #+END_LaTeX’ + ;; ‘L’ ‘#+LaTeX:’ + ;; ‘h’ ‘#+BEGIN_HTML ... #+END_HTML’ + ;; ‘H’ ‘#+HTML:’ + ;; ‘a’ ‘#+BEGIN_ASCII ... #+END_ASCII’ + ;; ‘A’ ‘#+ASCII:’ + ;; ‘i’ ‘#+INDEX:’ line + ;; ‘I’ ‘#+INCLUDE:’ line + + (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 @@ -1123,11 +1139,15 @@ extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-em '("C" "#+BEGIN_SRC c :tangle ?\n\n#+END_SRC")) (add-to-list 'org-structure-template-alist '("m" "\\begin{equation}\n?\n\\end{equation}")) - (add-to-list 'org-structure-template-alist '("b" "#+STARTUP: showall ,#+STARTUP: inlineimages ,#+OPTIONS: toc:nil\n")) + (add-to-list 'org-structure-template-alist + '("d" "#+BEGIN_SRC ditaa :file ? :cmdline -r -s 0.8 :cache yes \n\n#+END_SRC")) + (add-to-list 'org-structure-template-alist + '("u" "#+BEGIN_SRC plantuml :file ? \n\n#+END_SRC")) + #+END_SRC ** Org theme @@ -1145,7 +1165,11 @@ extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-em (set-face-attribute face nil :inherit 'fixed-pitch)) (list 'org-code 'org-block 'org-block-background)) (set-face-attribute 'org-table 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)) ;; fix indent broken by variable-pitch-mode ;; http://emacs.stackexchange.com/questions/26864/variable-pitch-face-breaking-indentation-in-org-mode @@ -1623,6 +1647,23 @@ When see function by =C-h f=, and visit the source code, I would like the buffer (add-hook 'help-mode-hook 'sd/help-mode-hook) #+END_SRC +Wiki [[http://stackoverflow.com/questions/3480173/show-keys-in-emacs-keymap-value][show-keys-in-emacs-keymap-value]], Helpplus mode can show keymap as human-readable, use ~describe-keymap~ or =C-h M-k= + +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (el-get-bundle help-macro+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-macro+.el" + :features help-macro+) + (el-get-bundle help+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help+.el" + :features help+) + (el-get-bundle help-fns+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-fns+.el" + :features help-fns+) + (el-get-bundle help-mode+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-mode+.el" + :features help-mode+) +#+END_SRC + ** goto-last-change #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package goto-last-change @@ -1938,6 +1979,7 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files :config (define-key company-active-map (kbd "M-n") nil) (define-key company-active-map (kbd "M-p") nil) + (define-key company-active-map (kbd "SPC") #'sd/company-stop-input-space) (define-key company-active-map (kbd "C-n") #'company-select-next) (define-key company-active-map (kbd "C-p") #'company-select-previous) ;; should map both (kbd "TAB") and [tab],https://github.com/company-mode/company-mode/issues/75 @@ -1951,6 +1993,12 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files :ensure t :config (company-statistics-mode)) + + (defun sd/company-stop-input-space () + "Stop completing and input a space,a workaround of a semantic issue `https://github.com/company-mode/company-mode/issues/614'" + (interactive) + (company-abort) + (insert " ")) #+END_SRC ** YASnippet @@ -2088,11 +2136,14 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi (use-package lispy :ensure t :init - (eval-after-load "lispy" - `(progn - (define-key lispy-mode-map (kbd "M-o") nil))) + (with-eval-after-load "lispy" + (define-key lispy-mode-map (kbd "M-o") nil) + (define-key lispy-mode-map (kbd "g") 'special-lispy-goto-local) + (define-key lispy-mode-map (kbd "G") 'special-lispy-goto)) :config (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))) + + #+END_SRC ** Perl