- ;; ;; allow for export=>beamer by placing
-
- ;; http://emacs-fu.blogspot.com/2011/04/nice-looking-pdfs-with-org-mode-and.html
- ;; #+LaTeX_CLASS: beamer in org files
- (unless (boundp 'org-export-latex-classes)
- (setq org-export-latex-classes nil))
- (add-to-list 'org-export-latex-classes
- ;; beamer class, for presentations
- '("beamer"
- "\\documentclass[11pt]{beamer}\n
- \\mode<{{{beamermode}}}>\n
- \\usetheme{{{{beamertheme}}}}\n
- \\usecolortheme{{{{beamercolortheme}}}}\n
- \\beamertemplateballitem\n
- \\setbeameroption{show notes}
- \\usepackage[utf8]{inputenc}\n
- \\usepackage[T1]{fontenc}\n
- \\usepackage{hyperref}\n
- \\usepackage{color}
- \\usepackage{listings}
- \\lstset{numbers=none,language=[ISO]C++,tabsize=4,
- frame=single,
- basicstyle=\\small,
- showspaces=false,showstringspaces=false,
- showtabs=false,
- keywordstyle=\\color{blue}\\bfseries,
- commentstyle=\\color{red},
- }\n
- \\usepackage{verbatim}\n
- \\institute{{{{beamerinstitute}}}}\n
- \\subject{{{{beamersubject}}}}\n"
-
- ("\\section{%s}" . "\\section*{%s}")
-
- ("\\begin{frame}[fragile]\\frametitle{%s}"
- "\\end{frame}"
- "\\begin{frame}[fragile]\\frametitle{%s}"
- "\\end{frame}")))
-
- ;; letter class, for formal letters
-
- (add-to-list 'org-export-latex-classes
-
- '("letter"
- "\\documentclass[11pt]{letter}\n
- \\usepackage[utf8]{inputenc}\n
- \\usepackage[T1]{fontenc}\n
- \\usepackage{color}"
-
- ("\\section{%s}" . "\\section*{%s}")
- ("\\subsection{%s}" . "\\subsection*{%s}")
- ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
- ("\\paragraph{%s}" . "\\paragraph*{%s}")
- ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
-
-
- (require 'ox-md)
- (require 'ox-beamer)
-
- (setq org-latex-pdf-process
- '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
- "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
- "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
-
- (setq TeX-parse-self t)
-
- (setq TeX-PDF-mode t)
- (add-hook 'LaTeX-mode-hook
- (lambda ()
- (LaTeX-math-mode)
- (setq TeX-master t)))
-
-#+END_SRC
-
-** others
-
-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\n?\n#+END_SRC"))
- (add-to-list 'org-structure-template-alist
- '("p" "#+BEGIN_SRC plantuml :file uml.png \n?\n#+END_SRC"))
-
-#+END_SRC
-
-* Magit
-
-[[https://github.com/magit/magit][Magit]] is a very cool git interface on Emacs.
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package magit
- :ensure t
- :commands magit-status magit-blame)
-
-#+END_SRC
-
-* IDO & SMEX
-
-** IDO
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package ido
- :ensure t
- :init (setq ido-enable-flex-matching t
- ido-ignore-extensions t
- ido-use-virtual-buffers t
- ido-everywhere t)
- :config
- (ido-mode 1)
- (ido-everywhere 1)
- (add-to-list 'completion-ignored-extensions ".pyc"))
-
- (icomplete-mode t)
-
-#+END_SRC
-
-** FLX
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package flx-ido
- :ensure t
- :init (setq ido-enable-flex-matching t
- ido-use-faces nil)
- :config (flx-ido-mode 1))
-
-#+END_SRC
-
-** IDO-vertically
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package ido-vertical-mode
- :ensure t
- :init
- (setq ido-vertical-define-keys 'C-n-C-p-up-and-down)
- :config
- (ido-vertical-mode 1))
-
-#+END_SRC
-
-** SMEX
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package smex
- :ensure t
- :init (smex-initialize)
- :bind
- ("M-x" . smex)
- ("M-X" . smex-major-mode-commands))
-
-#+END_SRC
-
-** Ido-ubiquitous
-
-Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for ido everywhere. It makes =describe-function= can also use ido
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package ido-ubiquitous
- :ensure t
- :init
- (setq magit-completing-read-function 'magit-ido-completing-read)
- (setq gnus-completing-read-function 'gnus-ido-completing-read)
- :config
- (ido-ubiquitous-mode 1))
-
-#+END_SRC
-
-** Ido-exit-target
-
-[[https://github.com/waymondo/ido-exit-target][ido-exit-target]] let you open file/buffer on =other-windows= when call =ido-switch-buffer=
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (use-package ido-exit-target
- :ensure t
- :init
- (define-key ido-common-completion-map (kbd "C-j") #'ido-exit-target-split-window-right)
- (define-key ido-common-completion-map (kbd "C-l") #'ido-exit-target-split-window-below))
-
-#+END_SRC
-
-* Key bindings
-
-** Remove prefix =ESC=, refer [[http://emacs.stackexchange.com/questions/14755/how-to-remove-bindings-to-the-esc-prefix-key][here]]
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- ;; (define-key key-translation-map (kbd "ESC") (kbd "C-g"))
-
-#+END_SRC
-
-** Esc on Minibuffer
-
-Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g=
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (define-key minibuffer-local-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-ns-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-isearch-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-completion-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-must-match-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-must-match-filename-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-filename-completion-map [escape] 'keyboard-escape-quit)
- (define-key minibuffer-local-filename-must-match-map [escape] 'keyboard-escape-quit)
-
- ;; Also map s-h same as C-g
- (define-key minibuffer-local-map (kbd "s-h") 'keyboard-escape-quit)
-
-#+END_SRC
-
-** =Ctrl= key bindings
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- ;;