X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=046bcb8c876d2bf021b1dfb69c0a26b25c0a304e;hb=b46c46a41995c3ddc200307e8c9666b9c1ba26a6;hp=c19f0f28566ac05f2be1e36001c3359d5809ba1d;hpb=17429b2d09f30ab488c0caf35f1542839e3bf7c1;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index c19f0f2..046bcb8 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -86,12 +86,6 @@ Set the emacs load path ;; (desktop-save-mode t) #+END_SRC -*** Save minibuffer history -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (savehist-mode 1) - (setq history-length 1000) -#+END_SRC - *** temp folder Make a temp directory for all cache/history files #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -102,34 +96,44 @@ Make a temp directory for all cache/history files (mkdir sd-temp-directory)) #+END_SRC +*** Save minibuffer history +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq savehist-file (concat sd-temp-directory "history")) + (setq history-length 1000) + (setq savehist-additional-variables '(kill-ring search-ring regexp-search-ring)) + (savehist-mode 1) + + ;; set temp file path for recentf and auto-save + (setq recentf-save-file (concat sd-temp-directory "recentf")) + (setq auto-save-list-file-prefix (concat sd-temp-directory "auto-save-list/.saves-")) +#+END_SRC + * Package Management Tools ** Use-package - Using [[https://github.com/jwiegley/use-package][use-package]] to manage emacs packages - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) - #+END_SRC ** El-get - [[https://github.com/dimitri/el-get][El-get]] is package management tool, whicl allows to install external elisp package from any git repository not in mepla. Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package el-get :ensure t :init (add-to-list 'load-path "~/.emacs.d/el-get")) +#+END_SRC +** paradox +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package paradox + :ensure t) #+END_SRC * Color and Fonts Settings @@ -524,6 +528,7 @@ set height in mode line ido-ignore-extensions t ido-use-virtual-buffers t ido-everywhere t) + (setq ido-save-directory-list-file (concat sd-temp-directory "ido.last")) :config (ido-mode 1) (ido-everywhere 1) @@ -555,7 +560,9 @@ set height in mode line #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package smex :ensure t - :init (smex-initialize) + :init + (setq smex-save-file (concat sd-temp-directory "smex-items")) + (smex-initialize) :bind ("M-x" . smex) ("M-X" . smex-major-mode-commands)) @@ -596,10 +603,14 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for :init (global-set-key (kbd "M-x") 'counsel-M-x) (global-set-key (kbd "C-h f") 'counsel-describe-function) - (global-set-key (kbd "C-h v") 'counsel-describe-variable)) + (global-set-key (kbd "C-h v") 'counsel-describe-variable) + ;; (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 "C-c C-r") 'ivy-resume) ;; (global-set-key (kbd "") 'ivy-resume) ;; ;; (global-set-key (kbd "C-x C-f") 'counsel-find-file) ;; (global-set-key (kbd " l") 'counsel-load-library) @@ -610,7 +621,6 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for ;; (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) - ;; ;; (define-key read-expression-map (kbd "C-r") 'counsel-expression-history) ;; (set-face-attribute ;; 'ivy-current-match nil @@ -621,6 +631,13 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for ;; (define-key swiper-map (kbd "M-%") 'swiper-aa-replace) #+END_SRC +** helm +let helm windows split inside current window +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (with-eval-after-load 'helm + (setq helm-split-window-in-side-p t)) +#+END_SRC + * Org-mode Settings ** Org-mode Basic setting @@ -1014,20 +1031,20 @@ and Defined keys, using vi keybindings, Refer abo-abo's setting [[https://github #+END_SRC * Eshell -*** Eshell alias +** Eshell alias #+BEGIN_SRC emacs-lisp :tangle yes :results silent (defalias 'e 'find-file) (defalias 'ff 'find-file) (defalias 'ee 'find-files) #+END_SRC -*** eshell temp directory +** eshell temp directory set default eshell history folder #+BEGIN_SRC emacs-lisp :tangle yes :results silent (setq eshell-directory-name (concat sd-temp-directory "eshell")) #+END_SRC -*** Eshell erase buffer +** Eshell erase buffer #+BEGIN_SRC emacs-lisp :tangle yes :results silent (defun sd/eshell-clear-buffer () "Clear eshell buffer" @@ -1040,7 +1057,7 @@ set default eshell history folder (local-set-key (kbd "C-l") 'sd/eshell-clear-buffer))) #+END_SRC -*** Toggle Eshell +** Toggle Eshell Toggle an eshell in split window below, refer [[http://www.howardism.org/Technical/Emacs/eshell-fun.html][eshell-here]] #+BEGIN_SRC emacs-lisp :tangle yes :results silent (defun sd/window-has-eshell () @@ -1081,7 +1098,7 @@ Toggle an eshell in split window below, refer [[http://www.howardism.org/Technic (global-set-key (kbd "s-e") 'sd/toggle-eshell-here) #+END_SRC -*** TODO smart display +** TODO smart display * Misc Settings ** [[https://github.com/abo-abo/hydra][Hydra]] @@ -1093,14 +1110,6 @@ Toggle an eshell in split window below, refer [[http://www.howardism.org/Technic (setq hydra-lv nil) #+END_SRC -*** Font Zoom -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (defhydra sd/font-zoom (global-map "") - "zoom" - ("g" text-scale-increase "in") - ("l" text-scale-decrease "out")) -#+END_SRC - *** Windmove Splitter Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-example]], to enlarge or shrink the windows splitter @@ -1144,7 +1153,7 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex *** hydra misc #+BEGIN_SRC emacs-lisp :tangle yes :results silent (defhydra sd/hydra-misc (:color red :columns nil) - "Miscellaneous Commands" + "Misc" ("e" eshell "eshell" :exit t) ("p" (lambda () (interactive) @@ -1303,48 +1312,6 @@ Type =o= to go to the link #+END_SRC -** Emms - -We can use [[https://www.gnu.org/software/emms/quickstart.html][Emms]] for multimedia in Emacs - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package emms - :ensure t - :init - (setq emms-source-file-default-directory "~/Music/") - :config - (emms-standard) - (emms-default-players) - (define-emms-simple-player mplayer '(file url) - (regexp-opt '(".ogg" ".mp3" ".mgp" ".wav" ".wmv" ".wma" ".ape" - ".mov" ".avi" ".ogm" ".asf" ".mkv" ".divx" ".mpeg" - "http://" "mms://" ".rm" ".rmvb" ".mp4" ".flac" ".vob" - ".m4a" ".flv" ".ogv" ".pls")) - "mplayer" "-slave" "-quiet" "-really-quiet" "-fullscreen") - (emms-history-load)) - -#+END_SRC - -** GnoGo - -Play Go in Emacs, gnugo xpm refert [[https://github.com/okanotor/dotemacs/blob/f95b774cb292d1169748bc0a62ba647bbd8c0652/etc/my-inits/my-inits-gnugo.el][to here]]. start at image display mode and grid mode - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (use-package gnugo - :ensure t - :defer t - :init - (require 'gnugo-imgen) - (setq gnugo-xpms 'gnugo-imgen-create-xpms) - (add-hook 'gnugo-start-game-hook '(lambda () - (gnugo-image-display-mode) - (gnugo-grid-mode))) - :config - (add-to-list 'gnugo-option-history (format "--boardsize 19 --color black --level 1"))) - -#+END_SRC - ** Tabbar #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1446,6 +1413,7 @@ Color for Man-mode #+END_SRC * dired +** Dired config =C-o= is defined as a global key for window operation, here unset it in dired mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package dired @@ -1460,7 +1428,7 @@ Color for Man-mode (dired-omit-mode)))) #+END_SRC -Dired+ +** Dired+ #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package dired+ :ensure t @@ -1472,6 +1440,24 @@ Dired+ (define-key dired-mode-map (kbd "g") 'dired-goto-file)) #+END_SRC +** dired-hacks +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package dired-hacks-utils + :ensure t) +#+END_SRC + +* ibuffer +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (global-set-key (kbd "s-b") 'ibuffer) + + (with-eval-after-load 'ibuffer + (define-key ibuffer-mode-map (kbd "C-o") nil) + (define-key ibuffer-mode-map (kbd "j") 'ibuffer-forward-line) + (define-key ibuffer-mode-map (kbd "k") 'ibuffer-backward-line) + (define-key ibuffer-mode-map (kbd "r") 'ibuffer-update) + (define-key ibuffer-mode-map (kbd "g") 'ibuffer-jump-to-buffer)) +#+END_SRC + * Completion company mode and company-statistics #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1933,6 +1919,43 @@ Use =gnuplot= on =Org-mode= file, see [[http://orgmode.org/worg/org-contrib/babe (add-hook 'ediff-suspend-hook 'ediff-toggle-wide-display)) #+END_SRC +* Entertainment +** GnoGo +Play Go in Emacs, gnugo xpm refert [[https://github.com/okanotor/dotemacs/blob/f95b774cb292d1169748bc0a62ba647bbd8c0652/etc/my-inits/my-inits-gnugo.el][to here]]. start at image display mode and grid mode +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package gnugo + :ensure t + :defer t + :init + (require 'gnugo-imgen) + (setq gnugo-xpms 'gnugo-imgen-create-xpms) + (add-hook 'gnugo-start-game-hook '(lambda () + (gnugo-image-display-mode) + (gnugo-grid-mode))) + :config + (add-to-list 'gnugo-option-history (format "--boardsize 19 --color black --level 1"))) +#+END_SRC + +** Emms +We can use [[https://www.gnu.org/software/emms/quickstart.html][Emms]] for multimedia in Emacs +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package emms + :ensure t + :init + (setq emms-directory (concat sd-temp-directory "emms")) + (setq emms-source-file-default-directory "~/Music/") + :config + (emms-standard) + (emms-default-players) + (define-emms-simple-player mplayer '(file url) + (regexp-opt '(".ogg" ".mp3" ".mgp" ".wav" ".wmv" ".wma" ".ape" + ".mov" ".avi" ".ogm" ".asf" ".mkv" ".divx" ".mpeg" + "http://" "mms://" ".rm" ".rmvb" ".mp4" ".flac" ".vob" + ".m4a" ".flv" ".ogv" ".pls")) + "mplayer" "-slave" "-quiet" "-really-quiet" "-fullscreen") + (emms-history-load)) +#+END_SRC + * Dictionary #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package bing-dict @@ -1942,7 +1965,7 @@ Use =gnuplot= on =Org-mode= file, see [[http://orgmode.org/worg/org-contrib/babe :commands (bing-dict-brief)) #+END_SRC -* NEXT Key Bindings +* Key Bindings Here are some global key bindings for basic editting ** Esc in minibuffer Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= @@ -1970,6 +1993,7 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= (setq projectile-enable-caching t) (setq projectile-cache-file (concat sd-temp-directory "projectile.cache")) :config + (add-to-list 'projectile-globally-ignored-files "GTAGS") (projectile-global-mode t)) (use-package persp-projectile @@ -2085,7 +2109,8 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del (delete-other-windows))) (defhydra sd/hydra-window (:color red :columns nil) - "window" + "Window" + ;; windows split ("h" windmove-left nil :exit t) ("j" windmove-down nil :exit t) ("k" windmove-up nil :exit t) @@ -2104,28 +2129,37 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del (split-window-below) (windmove-down)) "horz" :exit t) - ;; ("o" delete-other-windows "one" :exit t) + + ;; buffer / windows switch ("o" sd/toggle-max-windows "one" :exit t) - ("C-o" ido-switch-buffer "buf" :exit t) ("C-k" sd/delete-current-window "del" :exit t) ("'" other-window "other" :exit t) - ("a" ace-window "ace") + ;; ("a" ace-window "ace") ("s" ace-swap-window "swap") - ("d" ace-delete-window "ace-one" :exit t) - ("i" ace-maximize-window "ace-one" :exit t) - ("b" ido-switch-buffer "buf" :exit t) - ("C-b" ido-switch-buffer "buf" :exit t) - ("m" bookmark-jump-other-window "open bmk" :exit t) - ("M" bookmark-set "set bmk" :exit t) - ("q" nil "cancel") + ;; ("i" ace-maximize-window "ace-one" :exit t) + ("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo") ("r" (progn (winner-redo) (setq this-command 'winner-redo)) "redo") + + ;; ibuffer, dired, eshell, bookmarks + ;; ("d" ace-delete-window "ace-one" :exit t) + ("C-o" ido-switch-buffer nil :exit t) + ("d" dired-jump nil :exit t) + ("b" ibuffer nil n:exit t) + ("e" eshell nil :exit t) + ("m" bookmark-jump-other-window nil :exit t) + ("M" bookmark-set nil :exit t) + ("g" magit-status nil :exit t) + ("p" paradox-list-packages nil :exit t) + + ;; quit + ("q" nil "cancel") + ("" 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-;" nil nil :exit t) - ("p" nil nil :exit t) ("n" nil nil :exit t) ("[" nil nil :exit t) ("]" nil nil :exit t) @@ -2191,6 +2225,7 @@ Show the mark ring using =helm-mark-ring=, also mapping =M-`= to quit minibuffer toggle the mark ring. the best way is add a new action and mapping to =helm-source-mark-ring=, but since there is no map such as =helm-mark-ring=map=, so I cannot binding a key to the quit action. #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq mark-ring-max 50) (global-set-key (kbd "M-`") #'helm-mark-ring) (define-key minibuffer-local-map (kbd "M-`") 'keyboard-escape-quit) @@ -2200,10 +2235,6 @@ since there is no map such as =helm-mark-ring=map=, so I cannot binding a key to =C-x h= marks the whole buffer =C-M-h= marks the next defun =C-x C-p= marks the next page -**** DONE Mapping toggle mark ring= -:LOGBOOK: -- State "DONE" from "TODO" [2016-07-22 Fri 23:18] -:END: *** Registers Registers can save text, position, rectangles, file and configuration and other things. Here for movement, we can use register to save/jump position @@ -2265,13 +2296,6 @@ Search, replace and hightlight will in later paragraph (global-set-key (kbd "M-l") 'goto-line) #+END_SRC -*** Movement effective -**** isearch -=C-s=, =C-r= -=C-w=, put the word into search minibuffer, =M-y= -=M-c=, toggle case sensitivity -=M-n=, =M-p=, history -**** tagss ** Edit *** basic editting - cut, yank, =C-w=, =C-y= @@ -2283,17 +2307,10 @@ Search, replace and hightlight will in later paragraph *** Kill ring =helm-show-kill-ring= #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq kill-ring-max 100) ; default is 60p (global-set-key (kbd "M-y") #'helm-show-kill-ring) #+END_SRC -*** Expand-region -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package expand-region - :ensure t - :config - (global-set-key (kbd "C-=") 'er/expand-region)) -#+END_SRC - *** undo-tree #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package undo-tree @@ -2354,7 +2371,7 @@ Make flyspell enabled for org-mode, see [[http://emacs.stackexchange.com/questio #+END_SRC ** Search & Replace / hightlight =M-s= -*** search +*** isearch =C-s=, =C-r=, =C-w= add word at point to search string, =M-%= query replace @@ -2363,6 +2380,18 @@ Make flyspell enabled for org-mode, see [[http://emacs.stackexchange.com/questio =C-y= yank from clipboard to search string =M-n=, =M-p=, history =C-M-i= complete search string +set the isearch history size, the default is only =16= +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq history-length 5000) + (setq regexp-search-ring-max 1000) + (setq search-ring-max 1000) + + ;; when search a word or a symbol , also add the word into regexp-search-ring + (defadvice isearch-update-ring (after sd/isearch-update-ring (string &optional regexp) activate) + "Add search-ring to regexp-search-ring" + (unless regexp + (add-to-history 'regexp-search-ring string regexp-search-ring-max))) +#+END_SRC *** =M-s= prefix use the prefix =M-s= for searching in buffers @@ -2373,9 +2402,6 @@ use the prefix =M-s= for searching in buffers (define-key keymap (car binding) (cdr binding))) (global-set-key key keymap)) - ;; (use-package highlight-symbol - ;; :ensure t) - ;; (sd/make-keymap "\M-s" ;; '(("w" . save-buffer) ;; ;; ("\M-w" . save-buffer) @@ -2392,25 +2418,6 @@ use the prefix =M-s= for searching in buffers ;; ("M" . unhighlight-regexp) ;; ("f" . keyboard-quit) ;; ("q" . keyboard-quit))) - - ;; ;; search and replace and highlight - ;; (define-key isearch-mode-map (kbd "M-s") 'isearch-repeat-forward) - ;; (define-key isearch-mode-map (kbd "M-r") 'isearch-repeat-backward) - ;; (global-set-key (kbd "s-[") 'highlight-symbol-next) - ;; (global-set-key (kbd "s-]") 'highlight-symbol-prev) - ;; (global-set-key (kbd "s-\\") 'highlight-symbol-query-replace) - - - ;; (define-key minibuffer-local-map "\M-s" nil) - - ;; (set-face-background 'ido-first-match "yellow") - - ;; M-s M-w eww-search-words - - ;; M-c - ;; M-r - ;; M-t - ;; M-u, #+END_SRC #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2421,17 +2428,19 @@ use the prefix =M-s= for searching in buffers "Search" ("w" save-buffer "save" :exit t) ("e" revert-buffer "revert" :exit t) + ("u" undo-tree-visualize "undo" :exit t) ("s" isearch-forward-regexp "s-search" :exit t) ("M-s" isearch-forward-regexp "s-search" :exit t) ("r" isearch-backward-regexp "r-search" :exit t) - ("o" occur "occur " :exit t) ("." isearch-forward-symbol-at-point "search point" :exit t) + ("/" swiper "swiper" :exit t) + ("o" occur "occur" :exit t) ("h" highlight-symbol "higlight" :exit t) ("l" highlight-lines-matching-regexp "higlight line" :exit t) ("m" highlight-regexp "higlight" :exit t) ("M" unhighlight-regexp "unhiglight" :exit t) - ("f" nil nil :exit t) - ("q" nil nil :exit t)) + ("q" nil "quit") + ("f" nil)) (global-unset-key (kbd "M-s")) (global-set-key (kbd "M-s") 'sd/search-replace/body) @@ -2445,8 +2454,6 @@ use the prefix =M-s= for searching in buffers (global-set-key (kbd "s-\\") 'highlight-symbol-query-replace) #+END_SRC -*** replace -*** hightlight *** Occur Occur search key bindings #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2499,6 +2506,83 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d (insert (format "%s" (with-ivy-window (thing-at-point 'symbol))))))) #+END_SRC +** Expand region map +*** Install =expand-region= +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package expand-region + :ensure t + :config + ;; (global-set-key (kbd "C-=") 'er/expand-region) + ) +#+END_SRC + +*** Add a =hydra= map for =expand-region= operations +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defun sd/mark-line () + "Mark current line without whitespace beginning" + (interactive) + (back-to-indentation) + (set-mark (line-end-position))) + + (defhydra sd/expand-selected (:color red :columns nil + ;; :post (deactivate-mark) + ) + "Selected" + ;; select + ;; ("e" er/expand-region "+") + ("SPC" er/expand-region "+") + ;; ("c" er/contract-region "-") + ("S-SPC" er/contract-region "-") + ("r" (lambda () + (interactive) + (er/contract-region 0)) + "reset") + + ("i'" er/mark-inside-quotes "in") + ("i\"" er/mark-inside-quotes nil) + ("o'" er/mark-outside-quotes "out") + ("o\"" er/mark-outside-quotes nil) + + ("i{" er/mark-inside-pairs nil) + ("i(" er/mark-inside-pairs nil) + ("o{" er/mark-inside-pairs nil) + ("o(" er/mark-inside-pairs nil) + + ("p" er/mark-paragraph "paragraph") + + ("l" sd/mark-line "line") + ("u" er/mark-url "url") + ("f" er/mark-defun "fun") + ("n" er/mark-next-accessor "next") + + ("x" exchange-point-and-mark "exchange") + + ;; Move + ;; ("h" backward-char nil) + ;; ("j" next-line nil) + ;; ("k" previous-line nil) + ;; ("l" foreward-char nil) + + ;; Search + ;; higlight + + ;; exit + ("d" kill-region "delete" :exit t) + + ("y" kill-ring-save "yank" :exit t) + ;; ("M-SPC" nil "quit" :exit t) + ("C-SPC" nil "quit" :exit t) + ("q" nil "quit" :exit t)) + + (global-set-key (kbd "C-SPC") (lambda () + (interactive) + (set-mark-command nil) + (er/mark-word) + (sd/expand-selected/body))) +#+END_SRC + +*** TODO make expand-region hydra work with lispy selected + * TODO Convert ASCII to key ** map =function-key-map= [[http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm][ascii_ctrl]] new file =C-x C-f C-f= @@ -2509,102 +2593,17 @@ new file =C-x C-f C-f= (font-lock-add-keywords 'perl-mode '(("\\(|\\w+?\\(,\\w+?\\)?|\\)" 1 'py-builtins-face))) #+END_SRC -* TODO set fly-spell binding - -* TODO imenu bindings - -* DONE modified indicator -:LOGBOOK: -- State "DONE" from "TODO" [2016-07-18 Mon 23:35] -:END: -* DONE highlight selected ido candicate -:LOGBOOK: -- State "DONE" from "TODO" [2016-07-19 Tue 01:49] -:END: -* DONE show time in right of mode-line -:LOGBOOK: -- State "DONE" from "TODO" [2016-07-19 Tue 01:11] -:END: -* DONE ediff mode -:LOGBOOK: -- State "DONE" from "TODO" [2016-07-19 Tue 01:11] -:END: * TODO jump last change point * TODO emms mode-line -* TODO Temp directory for cached/history/temp files -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package recentf - :init - (setq recentf-save-file (concat sd-temp-directory "recentf"))) - - ;; (use-package projectile - ;; :init - ;; (setq projectile-cache-file (concat sd-temp-directory "projectile.cache"))) - - (use-package ido - :init - (setq ido-save-directory-list-file (concat sd-temp-directory "ido.last"))) - - (use-package savehist - :init - (setq savehist-file (concat sd-temp-directory "history"))) - - (use-package emms - :init - (setq emms-directory (concat sd-temp-directory "emms"))) - - (setq auto-save-list-file-prefix (concat sd-temp-directory "auto-save-list/.saves-")) - - (use-package smex - :init - (setq smex-save-file (concat sd-temp-directory "smex-items"))) -#+END_SRC - -* test -#+BEGIN_SRC ditaa :file temp/hello-world.png :cmdline -r -+--------------+ -| | -| Hello World! | -| | -+--------------+ -#+END_SRC - -#+RESULTS: -[[file:temp/hello-world.png]] - -#+BEGIN_SRC ditaa :file temp/hello.png - +------------+ - | | - | hello | - | | - +------------+ - - -#+END_SRC - -#+RESULTS: -[[file:temp/hello.png]] - * =C-u C-h a= search funtions =apropos-command= -* TODO Questions -- interactive for anonymous function -When define a key to a anonymous function, the lambda function should be interactive - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - ;; (require 'saveplace) - ;; (setq-default save-place t) - ;; (delete-selection-mode 1) -#+END_SRC - * key - passion - vision - mission - * M prefix #+BEGIN_SRC emacs-lisp :tangle yes :results silent