X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=d9b1b60e118824ad30605574810176c41895b44a;hb=85079e8b2c42d479c03a392dbe493e77a220b4ca;hp=fb0e3780403107a650e704acd6b03c0d0a40124a;hpb=3b1cbb1e77020f84f07811dbd30a8afed2076225;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index fb0e378..d9b1b60 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -640,15 +640,17 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= Some global bindings on =Super=, on Mac, it is =Command= #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defun sd/delete-current-window () + (interactive) + (if (> (length (window-list)) 1) + (delete-window) + (message "Only one Windows now!"))) + (global-set-key (kbd "s-h") 'keyboard-quit) (global-set-key (kbd "s-j") 'ido-switch-buffer) (global-set-key (kbd "s-k") 'ido-find-file) ;; s-k --> kill-this-buffer - (global-set-key (kbd "s-l") (lambda () - (interactive) - (if (> (length (window-list)) 1) - (delete-window) - (message "Only one Windows now!")))) + (global-set-key (kbd "s-l") 'sd/delete-current-window) ;; s-l --> goto-line (global-set-key (kbd "s-;") 'swiper) ;; s-; --> @@ -725,31 +727,59 @@ Some global bindings on =Super=, on Mac, it is =Command= #+END_SRC ** =M-s= bindings for searching - -I use the prefix =M-s= for searching in buffers + use the prefix =M-s= for searching in buffers #+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (defun pl-make-keymap (key bindings) + (defun sd/make-keymap (key bindings) (setq keymap (make-sparse-keymap)) (dolist (binding bindings) (define-key keymap (car binding) (cdr binding))) (global-set-key key keymap)) - (define-key minibuffer-local-map "\M-s" nil) + (sd/make-keymap "\M-s" + '(("w" . save-buffer) + ("\M-w" . save-buffer) + ("e" . revert-buffer) + ("s" . isearch-forward-regexp) + ("r" . isearch-backward-regexp) + ("o" . occur))) + + ;; (define-key isearch-mode-map (kbd "s") 'isearch-repeat-forward) + ;; (define-key isearch-mode-map (kbd "r") 'isearch-repeat-forward) + (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 "M-s s") 'isearch-forward-regexp) - (define-key isearch-mode-map "\M-s" 'isearch-repeat-forward) - (global-set-key (kbd "M-s r") 'isearch-backward-regexp) - (define-key isearch-mode-map "\M-r" 'isearch-repeat-backward) + ;; auto select occur window + (add-hook 'occur-hook (lambda () (switch-to-buffer-other-window "*Occur*"))) - (global-set-key (kbd "s-/") 'isearch-forward-regexp) - (define-key isearch-mode-map (kbd "s-/") 'isearch-repeat-forward) - (define-key isearch-mode-map (kbd "C-n") 'isearch-repeat-forward) + ;; increase font size when enter org-src-mode + (add-hook 'org-src-mode-hook (lambda () (text-scale-increase 2))) + (define-key minibuffer-local-map "\M-s" nil) + (set-face-background 'ido-first-match "white") + (defhydra sd/search-buffer (:color red :columns nil) + "M-s" + ("w" save-buffer "save" :exit) + ("s" isearch-forward-regrexp "search-forward" :exit) + ("r" isearch-backward-regrexp "search-backward" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("s" save-buffer "save" :exit) + ("q" nil "quil") + ("f" nil)) + + + ;; (global-unset-key (kbd "M-s")) + ;; (global-set-key (kbd "M-s") 'sd/search-buffer) + ;; M-s o --> occur ;; M-s s --> isearch-forward-regexp ;; M-s r --> isearch-backward-regexp @@ -1311,7 +1341,6 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex #+END_SRC *** hydra-window - #+BEGIN_SRC emacs-lisp :tangle yes :results silent (winner-mode 1) @@ -1336,7 +1365,8 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex (windmove-down)) "horz" :exit t) ("o" delete-other-windows "one" :exit t) - ("C-o" delete-other-windows "one" :exit t) + ("C-o" ido-switch-buffer "buf" :exit t) + ("C-k" sd/delete-current-window "del" :exit t) ("a" ace-window "ace") ("s" ace-swap-window "swap") ("d" ace-delete-window "ace-one" :exit t) @@ -1351,13 +1381,6 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex (global-unset-key (kbd "C-o")) (global-set-key (kbd "C-o") 'sd/hydra-window/body) - - (defun triggle-windows-max-size () - (interactive) - (if (> (length (window-list)) 1) - (delete-other-windows) - (winner-undo))) - #+END_SRC *** hydra misc @@ -1582,14 +1605,15 @@ Play Go in Emacs, gnugo xpm refert [[https://github.com/okanotor/dotemacs/blob/f #+END_SRC ** undo-tree - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package undo-tree :ensure t :config + (define-key undo-tree-visualizer-mode-map "j" 'undo-tree-visualize-redo) + (define-key undo-tree-visualizer-mode-map "k" 'undo-tree-visualize-undo) + (define-key undo-tree-visualizer-mode-map "h" 'undo-tree-visualize-switch-branch-left) + (define-key undo-tree-visualizer-mode-map "l" 'undo-tree-visualize-switch-branch-right) (global-undo-tree-mode 1)) - #+END_SRC ** swiper @@ -1687,10 +1711,9 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi (use-package lispy :ensure t :init - (eval-after-load 'lispy + (eval-after-load "lispy" `(progn - (define-key lispy-mode-map (kbd "M-o") nil) - (define-key lispy-mode-map (kbd "C-d") nil))) + (define-key lispy-mode-map (kbd "M-o") nil))) :config (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))) #+END_SRC @@ -1979,8 +2002,13 @@ Then Run =M-x gnus= ;; thread (setq gnus-thread-hide-subtree t) + ;; (with-eval-after-load 'gnus-summary-mode + ;; (define-key gnus-summary-mode-map (kbd "C-o") 'sd/hydra-window/body)) + + (add-hook 'gnus-summary-mode-hook (lambda () + (define-key gnus-summary-mode-map (kbd "C-o") nil))) + - #+END_SRC ** Windows layout @@ -2003,11 +2031,18 @@ See [[https://www.emacswiki.org/emacs/GnusWindowLayout][GnusWindowLayout]] (summary 0.50 point) (article 1.0))))) + (with-eval-after-load 'gnus-group-mode + (gnus-group-select-group "INBOX")) ;; (add-hook 'gnus-group-mode-map (lambda () - ;; (gnus-group-select-group "INBOX"))) + ;; (gnus-group-select-group "INBOX"))) #+END_SRC * key - passion - vision - mission + + + + +