From 81367a877d96df83c8e68c920323988d04f930bf Mon Sep 17 00:00:00 2001 From: Peng Li Date: Thu, 21 Dec 2017 20:46:47 +0800 Subject: [PATCH] Emacs - config --- emacs.d/config.org | 16 +++++++++++----- emacs.d/emacs-evil.org | 35 +++++++++++++++++++++-------------- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/emacs.d/config.org b/emacs.d/config.org index dc87733..d71d28b 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -870,12 +870,12 @@ Always indents header, and hide header leading starts so that no need type =#+ST :features ob-racket) ;; Lua support - ;(use-package ob-lua - ; :ensure t) +;; (use-package ob-lua +;; :ensure t) ;; use current window for org source buffer editting - (setq org-src-window-setup 'current-window ) + ;; (setq org-src-window-setup 'current-window) (define-key org-mode-map (kbd "C-'") nil) ;; C-M-i is mapped to imenu globally (define-key org-mode-map (kbd "C-M-i") nil) @@ -894,7 +894,7 @@ Always indents header, and hide header leading starts so that no need type =#+ST (latex . t) (java . t) (ruby . t) - ; (lua . t) +; (lua . t) (lisp . t) (scheme . t) (racket . t) @@ -1595,7 +1595,13 @@ Refer [[https://github.com/abo-abo/hydra/blob/master/hydra-examples.el][hydra-ex ("d" ace-delete-window "Delete" :exit t) ("x" sd/exchange-win-layout "eXchange" :exit t) ("u" winner-undo "window-Undo" :exit t) - ("r" winner-redo "window-Redo" :exit t)) + ("r" winner-redo "window-Redo" :exit t) + ("C-h" (lambda () (interactive) (evil-window-increase-width 3)) "<<") + ("C-l" (lambda () (interactive) (evil-window-decrease-width 3)) ">>") + ("C-k" (lambda () (interactive) (evil-window-increase-height 3)) "^") + ("C-j" (lambda () (interactive) (evil-window-decrease-height 3)) "v") + ("=" balance-windows "=" :exit t) + ("q" nil "quit")) (defhydra sd/hydra-gtags (:color red :colums nil) "ggtags - global" diff --git a/emacs.d/emacs-evil.org b/emacs.d/emacs-evil.org index 28131e8..fa298b6 100644 --- a/emacs.d/emacs-evil.org +++ b/emacs.d/emacs-evil.org @@ -118,14 +118,13 @@ https://www.emacswiki.org/emacs/Evil. ** Evil-Leader #+BEGIN_SRC emacs-lisp :tangle yes :results silent (with-eval-after-load "evil-leader" - (cl-loop for (key . fun ) in '(("F" . counsel-projectile-switch-to-buffer) - ("f" . sd/swith-to-buffer) + (cl-loop for (key . fun ) in '(("f" . sd/swith-to-buffer) ("b" . projectile-find-file) ("r" . ivy-recentf) ("w" . save-buffer) ("v" . evil-window-vsplit) ("s" . evil-window-split) - ("t" . sd/hydra-gtags/body) + ("t" . sd/hydra-window-layout/body) ("p" . sd/hydra-projectile/body) ("q" . evil-quit) ("g" . magit-status) @@ -149,11 +148,11 @@ There are three kinds key bindings (define-key map "\C-j" 'evil-window-down) (define-key map "\C-k" 'evil-window-up) (define-key map "\C-l" 'evil-window-right) - (define-key map (kbd "C->") (lambda () (interactive) (evil-window-increase-width 3))) - (define-key map (kbd "C-<") (lambda () (interactive) (evil-window-decrease-width 3))) - (define-key map (kbd "C-+") (lambda () (interactive) (evil-window-increase-height 3))) - (define-key map (kbd "C--") (lambda () (interactive) (evil-window-decrease-height 3))) - (define-key map (kbd "C-=") (lambda () (interactive) (balance-windows))) + ;; (define-key map (kbd "C->") (lambda () (interactive) (evil-window-increase-width 3))) + ;; (define-key map (kbd "C-<") (lambda () (interactive) (evil-window-decrease-width 3))) + ;; (define-key map (kbd "C-+") (lambda () (interactive) (evil-window-increase-height 3))) + ;; (define-key map (kbd "C--") (lambda () (interactive) (evil-window-decrease-height 3))) + ;; (define-key map (kbd "C-=") (lambda () (interactive) (balance-windows))) ;; As ; has been defined as leader, so remap , to ; repeaat t/f (define-key map (kbd ",") 'evil-repeat-find-char)) (list evil-normal-state-map evil-motion-state-map)) @@ -193,22 +192,30 @@ Let the search highlight persistent, https://stackoverflow.com/questions/2576803 (define-key evil-normal-state-map "\\v" #'describe-variable)) #+END_SRC +Go, =g= command + +- =g#= =g*= :: same as =#=, =*=, but without using "\<" and "\>" +- =g$= :: same as =$= +- =g&= :: repease last =:s= on all lines +- g', g`, like ' ` but without changing the jumplist +- g+, g- +- g; :: +gs + ** Eshell #+BEGIN_SRC emacs-lisp :tangle yes :results silent (add-hook 'eshell-mode-hook (lambda () (when (and (boundp 'evil-mode) evil-mode) - (dolist (key-fun '(("f" . ivy-switch-buffer) - ("b" . counsel-projectile-find-file) - ("r" . counsel-recentf) + (dolist (key-fun '(("f" . sd/swith-to-buffer) + ("b" . projectile-find-file) + ("r" . ivy-recentf) ("t" . sd/hydra-window-layout/body) ("e" . sd/toggle-project-eshell) ("d" . dired) ("'" . other-window) ("h" . help) ("q" . evil-quit))) - (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader (car key-fun))) (cdr key-fun)))) - ;; (define-key eshell-mode-map (kbd "C-j") nil) - )) + (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader (car key-fun))) (cdr key-fun)))))) #+END_SRC ** Dired mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent -- 2.11.0