: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
#+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
;; (set-face-attribute 'ivy-current-match nil :background "Orange" :foreground "black")
(define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
(global-set-key (kbd "C-c C-r") 'ivy-resume))
-
-
-
- ;; (global-set-key "\C-s" 'swiper)
- ;; (global-set-key (kbd "<f6>") 'ivy-resume)
- ;; ;; (global-set-key (kbd "C-x C-f") 'counsel-find-file)
- ;; (global-set-key (kbd "<f1> l") 'counsel-load-library)
- ;; (global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
- ;; (global-set-key (kbd "<f2> u") 'counsel-unicode-char)
- ;; (global-set-key (kbd "C-c g") 'counsel-git)
- ;; (global-set-key (kbd "C-c j") 'counsel-git-grep)
- ;; (global-set-key (kbd "C-c k") 'counsel-ag)
- ;; (global-set-key (kbd "C-x l") 'counsel-locate)
- ;; (global-set-key (kbd "C-S-o") 'counsel-rhythmbox)
-
- ;; (set-face-attribute
- ;; 'ivy-current-match nil
- ;; :background "Orange"
- ;; :foreground "black")
-
- ;; ivy-resume
- ;; (define-key swiper-map (kbd "M-%") 'swiper-aa-replace)
#+END_SRC
** helm
(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
+
+** Org babel
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(el-get-bundle hasu/emacs-ob-racket
:features ob-racket)
+ ;; Lua support
+ ;(use-package ob-lua
+ ; :ensure t)
+
+ ;; use current window for org source buffer editting
+
+ (setq org-src-window-setup 'current-window )
+ (define-key org-mode-map (kbd "C-'") nil)
+ ;; C-M-i is mapped to imenu globally
+ (define-key org-mode-map (kbd "C-M-i") nil)
+ ;; set the ditta.jar path
+
+ (setq org-ditaa-jar-path "/usr/local/Cellar/ditaa/0.9/libexec/ditaa0_9.jar")
+ (unless
+ (file-exists-p org-ditaa-jar-path)
+ (error "seudut: ditaa.jar not found at %s " org-ditaa-jar-path))
+
(org-babel-do-load-languages 'org-babel-load-languages
'((python . t)
(C . t)
(latex . t)
(java . t)
(ruby . t)
- (lua . t)
+ ; (lua . t)
(lisp . t)
(scheme . t)
(racket . t)
(ditaa . t)
(plantuml . t)))
- ;; use current window for org source buffer editting
- (setq org-src-window-setup 'current-window )
- (define-key org-mode-map (kbd "C-'") nil)
- ;; C-M-i is mapped to imenu globally
- (define-key org-mode-map (kbd "C-M-i") nil)
+ ;; toggle image preview
+ (add-hook 'org-babel-after-execute-hook 'sd/display-inline-images 'append)
- ;; set the ditta.jar path
- (setq org-ditaa-jar-path "/usr/local/Cellar/ditaa/0.9/libexec/ditaa0_9.jar")
- (unless
- (file-exists-p org-ditaa-jar-path)
- (error "seudut: ditaa.jar not found at %s " org-ditaa-jar-path))
+ (defun sd/display-inline-images ()
+ (condition-case nil
+ (org-display-inline-images)
+ (error nil)))
- ;; Lua support
- (use-package ob-lua
- :ensure t)
+ ;; 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]]
#+BEGIN_SRC sh
;; increase font size when enter org-src-mode
;; (add-hook 'org-src-mode-hook (lambda () (text-scale-increase 2)))
+
+ ;; define a face for org-bullets
+ (defface org-bullet-face
+ '((t (:foreground "green yellow")))
+ "Face used for the org-bullets.")
+ (setq org-bullets-face-name (quote org-bullet-face))
+ (set-face-attribute 'org-bullet-face t :foreground "burlywood" :weight 'normal :height 1.6)
#+END_SRC
** Worf Mode
(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
** 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
'("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
(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
(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
#+END_SRC
** Elscreen
+Fix one elscreen issue when startup emacs https://github.com/knu/elscreen/issues/6
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(use-package elscreen
:ensure t
: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
: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
(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)
+ (define-key lispy-mode-map (kbd "M-m") 'back-to-indentation))
:config
(add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1))))
+
+
#+END_SRC
** Perl
;; ("C-i" other-window nil :exit t)
("C-b" ido-switch-buffer nil :exit t)
("C-f" projectile-find-file nil :exit t)
+ ("C-r" ivy-recentf nil :exit t)
("C-p" persp-switch :exit t)
("C-t" projectile-persp-switch-project nil :exit t)
(global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word)
#+END_SRC
-
+* Developing
+** perspeen
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (el-get-bundle seudut/perspeen
+ :features perspeen)
+#+END_SRC
* TODO todolist
** Rucket
** player video on iphone for
** Need separate the Key-bindings and package-initialization
-
+* Note
** Check if emacs is in terminal of graphic mode
Use =display-graphic-p= instead of =window-system=
[[info:elisp#Window%20Systems][Window Systems]]
+** =Interactive=