X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=300360dff142f6f2d7101f4564aa6c0868c0f0d0;hb=4f7dacd8e53c72f93d9df16617db8e7a0d2da238;hp=06baf8c3187de02077f88533f4d10a27975581b9;hpb=3df5e863ee1828399da52837cb91487cb6e03721;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 06baf8c..300360d 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -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]] @@ -1262,16 +1260,6 @@ Type =o= to go to the link #+END_SRC -** Emux - -[[https://github.com/re5et/emux][emux]] is - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (el-get-bundle re5et/emux) - -#+END_SRC - ** Smart Parens #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1384,8 +1372,6 @@ When see function by =C-h f=, and visit the source code, I would like the buffer ** TODO Man mode Color for Man-mode -** TODO swiper to occur - ** TODO UTF8 #+BEGIN_SRC emacs-lisp :tangle yes :results silent ;; (set-language-environment "UTF-8") @@ -1414,22 +1400,51 @@ Color for Man-mode (define-key org-tree-slide-mode-map [escape] 'org-tree-slide-move-previous-tree)) #+END_SRC -* dired +** pdf-tools +#+BEGIN_SRC bash + brew install poppler +#+END_SRC + +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package pdf-tools + :ensure t + :init + ;; run to complete the installation + (pdf-tools-install) + :config + (add-to-list 'auto-mode-alist '("\.pdf$" . pdf-view-mode)) + (define-key pdf-outline-buffer-mode-map (kbd "C-o") nil) + (define-key pdf-outline-buffer-mode-map (kbd "i") 'outline-toggle-children) + (define-key pdf-outline-buffer-mode-map (kbd "j") 'next-line) + (define-key pdf-outline-buffer-mode-map (kbd "k") 'previous-line)) +#+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 + (defun sd/dired-key-map () + "My keybindings for dired" + (interactive) + (define-key dired-mode-map (kbd "SPC") 'scroll-up-command) + (define-key dired-mode-map (kbd "S-SPC") 'scroll-down-command) + (define-key dired-mode-map (kbd "C-o") nil) + (define-key dired-mode-map (kbd "M-s") nil) + (define-key dired-mode-map (kbd "l") 'dired-isearch-filenames) + (define-key dired-mode-map (kbd "H") 'dired-omit-mode) + (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file "..")))) + (use-package dired :config (require 'dired-x) (setq dired-omit-mode t) (setq dired-omit-files (concat dired-omit-files "\\|^\\..+$")) (add-hook 'dired-mode-hook (lambda () - (define-key dired-mode-map (kbd "C-o") nil) - (define-key dired-mode-map (kbd "H") 'dired-omit-mode) - (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file ".."))) + (sd/dired-key-map) (dired-omit-mode)))) #+END_SRC -Dired+ +** Dired+ #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package dired+ :ensure t @@ -1441,7 +1456,22 @@ Dired+ (define-key dired-mode-map (kbd "g") 'dired-goto-file)) #+END_SRC -* ibuffer +** dired-hacks +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package dired-hacks-utils + :ensure t) + + + (defconst my-dired-media-files-extensions '("mp3" "mp4" "MP3" "MP4" "avi" "mpg" "flv" "ogg" "wmv" "mkv" "mov" "wma") + "Media file extensions that should launch in VLC.") + + (add-to-list 'dired-guess-shell-alist-user + (list (concat "\\." + (regexp-opt my-dired-media-files-extensions) + "\\'") "mplayer")) +#+END_SRC + +* Ibuffer #+BEGIN_SRC emacs-lisp :tangle yes :results silent (global-set-key (kbd "s-b") 'ibuffer) @@ -1988,6 +2018,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 @@ -2137,12 +2168,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) - ("e" eshell "eshell" :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") @@ -2152,7 +2185,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) @@ -2517,17 +2549,18 @@ 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 "+") - ("SPC" er/expand-region "+") + ("SPC" er/expand-region "+") ;; ("c" er/contract-region "-") - ("S-SPC" er/contract-region "-") - ("r" (lambda () - (interactive) - (er/contract-region 0)) + ("S-SPC" er/contract-region "-") + ("r" (lambda () + (interactive) + (er/contract-region 0)) "reset") ("i'" er/mark-inside-quotes "in") @@ -2540,21 +2573,15 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d ("o{" er/mark-inside-pairs nil) ("o(" er/mark-inside-pairs nil) - ("p" er/mark-paragraph "paragraph") + ("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") + ("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 @@ -2563,13 +2590,15 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d ("y" kill-ring-save "yank" :exit t) ("M-SPC" nil "quit" :exit t) - ("C-SPC" nil "quit" :exit t) - ("q" nil "quit" :exit t)) + ;; ("C-SPC" "quit" :exit t) + ("q" deactivate-mark "quit" :exit t)) (global-set-key (kbd "M-SPC") (lambda () - (interactive) - (er/mark-word) - (sd/expand-selected/body))) + (interactive) + (set-mark-command nil) + ;; (er/expand-region 1) + (er/mark-word) + (sd/expand-selected/body))) #+END_SRC *** TODO make expand-region hydra work with lispy selected