X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=217f64b3efea87bfc825e39772f3307ef84429da;hb=54f0561d3c6c571b6027b93cf5d8cf6fc3cc204c;hp=b691525f4436d2ab8a6fc20337a15cd50a186d9e;hpb=32188ae0a548268da8c5cf92aab13ac5298d0601;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index b691525..217f64b 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -44,7 +44,7 @@ Set the emacs load path #+END_SRC -** General Setting +** Window Setting Disable scroll bar, tool-bar and menu-bar @@ -86,6 +86,13 @@ Setting scroll right/left ; (global-set-key (kbd "C-.") 'scoll-right) #+END_SRC +Set default window size +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq initial-frame-alist + '((width . 120) + (height . 50))) +#+END_SRC + * Package Management Tools ** Use-package @@ -558,16 +565,26 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for #+END_SRC -* Key bindings - -** Remove prefix =ESC=, refer [[http://emacs.stackexchange.com/questions/14755/how-to-remove-bindings-to-the-esc-prefix-key][here]] - +* Normal Text Operation +** Edit +*** 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)) - ;; (define-key key-translation-map (kbd "ESC") (kbd "C-g")) - + (global-set-key (kbd "s-u") 'undo-tree-visualize) #+END_SRC +** Motion +** Search & highlight +* Key bindings + ** Esc on Minibuffer Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= @@ -640,25 +657,23 @@ 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) + ;; (global-set-key (kbd "s-/") 'swiper) ;; s-; --> ;; s-' --> 'next-multiframe-window (global-set-key (kbd "") 'toggle-frame-fullscreen) - ;; (global-set-key (kbd "s-y") 'projectile-find-file) (global-set-key (kbd "s-f") 'projectile-find-file) - ;; (global-set-key (kbd "s-[") 'persp-next) - ;; (global-set-key (kbd "s-]") 'persp-prev) (global-set-key (kbd "s-`") 'mode-line-other-buffer) @@ -668,6 +683,8 @@ Some global bindings on =Super=, on Mac, it is =Command= (global-set-key (kbd "s-=") 'text-scale-increase) (global-set-key (kbd "s--") 'text-scale-decrease) + ;; (global-set-key (kbd "s-u") 'undo-tree-visualize) + ;; someothers default mapping on super (command) key ;; s-s save-buffer @@ -724,60 +741,14 @@ Some global bindings on =Super=, on Mac, it is =Command= ;; s-` --> other-frame #+END_SRC -** =M-s= bindings for searching - -I use the prefix =M-s= for searching in buffers - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (defun pl-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) - - (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) - - (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) - - - (set-face-background 'ido-first-match "white") - - ;; M-s o --> occur - ;; M-s s --> isearch-forward-regexp - ;; M-s r --> isearch-backward-regexp - ;; M-s w --> isearch-forward-word - ;; M-s . --> isearch-forward-symbol-at-point - ;; M-s _ --> isearch-forward-symbol - - ;; highlight bindings - ;; M-s h . --> highlight-symbol-at-point - ;; M-s h r --> highlight-regexp - ;; M-s h u --> unhighlight-regexp - ;; M-s h l --> highlight-lines-match-regexp - ;; M-s h p --> highlight-phrase - ;; M-s h f --> hi-lock-find-patterns - - ;; - ;; (global-set-key (kbd "M-s M-r") 'isearch-backward-regexp) - ;; - - ;; M-c - ;; M-r - ;; M-t - ;; M-u, -#+END_SRC - +** Search Replace and highlight +*** Occur Occur search key bindings - #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (add-hook 'occur-hook (lambda () + (switch-to-buffer-other-window "*Occur*") + (define-key occur-mode-map (kbd "C-o") nil))) + ;; auto select occur window (define-key occur-mode-map (kbd "C-n") (lambda () @@ -795,22 +766,95 @@ Occur search key bindings (recenter) (other-window 1))) + (use-package color-moccur + :ensure t + :commands (isearch-moccur isearch-all) + :init + (setq isearch-lazy-highlight t) + :config + (use-package moccur-edit)) #+END_SRC +*** swiper +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package swiper + :ensure t) -** =M-o= as prefix key for windows - -** =M-g= as prefix key for launcher + (ivy-mode 1) + (setq ivy-use-virtual-buffers t) + (global-set-key (kbd "s-/") 'swiper) + ;;* + ;; (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 "M-x") 'counsel-M-x) + ;; ;; (global-set-key (kbd "C-x C-f") 'counsel-find-file) + ;; (global-set-key (kbd " f") 'counsel-describe-function) + ;; (global-set-key (kbd " v") 'counsel-describe-variable) + ;; (global-set-key (kbd " l") 'counsel-load-library) + ;; (global-set-key (kbd " i") 'counsel-info-lookup-symbol) + ;; (global-set-key (kbd " u") 'counsel-unicode-char) + ;; (global-set-key (kbd "C-c g") 'counsel-git) + ;; (global-set-key (kbd "C-c j") 'counsel-git-grep) + ;; (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) -** others +#+END_SRC +*** =M-s= prefix +use the prefix =M-s= for searching in buffers #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (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)) + + (use-package highlight-symbol + :ensure t) + + (sd/make-keymap "\M-s" + '(("w" . save-buffer) + ;; ("\M-w" . save-buffer) + ("W" . revert-buffer) + ("s" . isearch-forward-regexp) + ("r" . isearch-backward-regexp) + ("." . isearch-forward-symbol-at-point) + ("o" . occur) + ;; ("h" . highlight-symbol-at-point) + ("h" . highlight-symbol) + ("m" . highlight-regexp) + ("l" . highlight-lines-matching-regexp) + ("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") - ;; C-' undefined - ;; C-. undefined + ;; M-s M-w eww-search-words + + ;; M-c + ;; M-r + ;; M-t + ;; M-u, #+END_SRC +** =M-o= as prefix key for windows + +** =M-g= as prefix key for launcher + * Org-mode Settings ** Org-mode Basic setting @@ -863,6 +907,9 @@ use [[https://github.com/sabof/org-bullets][org-bullets]] package to show utf-8 (org-bullets-mode t)))) (setq org-bullets-bullet-list '("⦿" "✪" "◉" "○" "►" "◆")) + + ;; increase font size when enter org-src-mode + (add-hook 'org-src-mode-hook (lambda () (text-scale-increase 2))) #+END_SRC ** Worf Mode @@ -1336,6 +1383,7 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex "horz" :exit t) ("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) @@ -1573,46 +1621,6 @@ 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 - (global-undo-tree-mode 1)) - -#+END_SRC - -** swiper - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (use-package swiper - :ensure t) - - - (ivy-mode 1) - (setq ivy-use-virtual-buffers t) - ;; (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 "M-x") 'counsel-M-x) - ;; ;; (global-set-key (kbd "C-x C-f") 'counsel-find-file) - ;; (global-set-key (kbd " f") 'counsel-describe-function) - ;; (global-set-key (kbd " v") 'counsel-describe-variable) - ;; (global-set-key (kbd " l") 'counsel-load-library) - ;; (global-set-key (kbd " i") 'counsel-info-lookup-symbol) - ;; (global-set-key (kbd " u") 'counsel-unicode-char) - ;; (global-set-key (kbd "C-c g") 'counsel-git) - ;; (global-set-key (kbd "C-c j") 'counsel-git-grep) - ;; (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) - -#+END_SRC - ** Tabbar #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1679,10 +1687,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 @@ -2000,8 +2007,10 @@ 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