emacs - fix bug, move paradox under use-package
[dotfiles.git] / emacs.d / config.org
index f022331..046bcb8 100644 (file)
@@ -111,31 +111,29 @@ Make a temp directory for all cache/history files
 * 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
@@ -1033,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"
@@ -1059,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 ()
@@ -1100,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]]
@@ -1314,46 +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-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
-
-** 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
@@ -1455,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
@@ -1469,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
@@ -1481,6 +1440,12 @@ 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)
@@ -1954,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
@@ -1991,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
@@ -2140,11 +2143,14 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del
 
     ;; ibuffer, dired, eshell, bookmarks
     ;; ("d" ace-delete-window "ace-one" :exit t)
-    ("C-o" ido-switch-buffer "buf" :exit t)
-    ("d" dired-jump "dired" :exit t)
-    ("b" ibuffer "ibuffer" :exit t)
-    ("m" bookmark-jump-other-window "open bmk" :exit t)
-    ("M" bookmark-set "set bmk" :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")
@@ -2154,7 +2160,6 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del
     ;; ("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)
@@ -2519,8 +2524,9 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d
     (back-to-indentation)
     (set-mark (line-end-position)))
 
-  (defhydra sd/expand-selected (:color pink :columns nil
-                                       :post (deactivate-mark))
+  (defhydra sd/expand-selected (:color red :columns nil
+                                       ;; :post (deactivate-mark)
+                                       )
     "Selected"
     ;; select
     ;; ("e"  er/expand-region "+")
@@ -2564,14 +2570,15 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d
     ("d" kill-region "delete" :exit t)
 
     ("y" kill-ring-save "yank" :exit t)
-    ("M-SPC" nil "quit" :exit t)
+    ;; ("M-SPC" nil "quit" :exit t)
     ("C-SPC" nil "quit" :exit t)
     ("q" nil "quit" :exit t))
 
-  (global-set-key (kbd "M-SPC") (lambda ()
-                                (interactive)
-                                (er/mark-word)
-                                (sd/expand-selected/body)))
+  (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