From: Peng Li Date: Thu, 28 May 2015 13:54:13 +0000 (+0800) Subject: emacs, add init-evil config file X-Git-Url: http://47.100.26.94:8080/?a=commitdiff_plain;h=94210cd24e8e54d26a95d405cd36a970ccbf9a6f;hp=4d815fa7db47d5d78bc617445042402052cd32e5;p=dotfiles.git emacs, add init-evil config file --- diff --git a/emacs.d/config/init-color-theme.el b/emacs.d/config/init-color-theme.el index d2da41b..e28f044 100644 --- a/emacs.d/config/init-color-theme.el +++ b/emacs.d/config/init-color-theme.el @@ -173,7 +173,8 @@ (powerline-major-mode face-blue 'r) (funcall separator-left face-blue mode-line) (powerline-narrow mode-line 'l) - (powerline-vc mode-line 'r) +; (powerline-vc mode-line 'r) + (powerline-simpler-vc-mode (powerline-vc mode-line 'r)) (funcall separator-left mode-line face1))) ; (powerline-simpler-vc-mode (powerline-vc face2)))) diff --git a/emacs.d/config/init-evil.el b/emacs.d/config/init-evil.el new file mode 100644 index 0000000..cce5e4f --- /dev/null +++ b/emacs.d/config/init-evil.el @@ -0,0 +1,47 @@ + +;;--------------------------------------------------------------------------------------- +;; evil +;; +(global-evil-leader-mode) +(evil-leader/set-leader ";") +(evil-leader/set-key "e" 'find-file) +(evil-leader/set-key "b" 'switch-to-buffer) +(evil-leader/set-key "w" 'evil-write) + +;; TODO: change cursor to next windows +(evil-leader/set-key "s" 'split-window-below) +(evil-leader/set-key "v" 'split-window-right) +(evil-leader/set-key "q" 'delete-window) + +(require 'evil) +;(setq key-chord-two-keys-delay 0.5) +(key-chord-define evil-insert-state-map "jj" 'evil-normal-state) +(key-chord-mode 1) +(define-key evil-normal-state-map [escape] 'keyboard-quit) +(define-key evil-visual-state-map [escape] 'keyboard-quit) +;(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit) +;(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit) +;(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit) +;(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit) +;(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit) + + +;; cursor shape +(setq evil-emacs-state-cursor '("red" box)) +(setq evil-normal-state-cursor '("green" box)) +(setq evil-visual-state-cursor '("orange" box)) +(setq evil-insert-state-cursor '("red" bar)) +(setq evil-replace-state-cursor '("red" bar)) +(setq evil-operator-state-cursor '("red" hollow)) +;;Enter an emacs mode in a given state http://wikemacs.org/wiki/Evil +(loop for (mode . state) in '( +; (inferior-emacs-lisp-mode . emacs) +; (wdired-mode . normal) + (eshell-mode . emacs)) + do (evil-set-initial-state mode state)) + + +;(global-evil-tabs-mode t) +(evil-mode 1) + +(provide 'init-evil) diff --git a/emacs.d/config/init-ggtags.el b/emacs.d/config/init-ggtags.el index 8015802..bc22547 100644 --- a/emacs.d/config/init-ggtags.el +++ b/emacs.d/config/init-ggtags.el @@ -14,4 +14,12 @@ (custom-set-variables '(ggtags-split-window-function (quote split-window-vertically))) + +(setq-local imenu-create-index-function #'ggtags-build-imenu-index) + + +; gnu global support +(require 'semantic/db) +(global-semanticdb-minor-mode 1) + (provide 'init-ggtags) diff --git a/emacs.d/init.el b/emacs.d/init.el index 3a68001..922fa94 100644 --- a/emacs.d/init.el +++ b/emacs.d/init.el @@ -77,38 +77,10 @@ ;(setq magit-auto-revert-mode nil) +(require 'init-evil) + -;;--------------------------------------------------------------------------------------- -;; evil -;; -(global-evil-leader-mode) -(evil-leader/set-leader ";") -(evil-leader/set-key "e" 'find-file) -(evil-leader/set-key "b" 'switch-to-buffer) -(evil-leader/set-key "w" 'evil-write) -(require 'evil) -;(setq key-chord-two-keys-delay 0.5) -(key-chord-define evil-insert-state-map "jj" 'evil-normal-state) -(key-chord-mode 1) - -;; cursor shape -(setq evil-emacs-state-cursor '("red" box)) -(setq evil-normal-state-cursor '("green" box)) -(setq evil-visual-state-cursor '("orange" box)) -(setq evil-insert-state-cursor '("red" bar)) -(setq evil-replace-state-cursor '("red" bar)) -(setq evil-operator-state-cursor '("red" hollow)) -;;Enter an emacs mode in a given state http://wikemacs.org/wiki/Evil -(loop for (mode . state) in '( -; (inferior-emacs-lisp-mode . emacs) -; (wdired-mode . normal) - (eshell-mode . emacs)) - do (evil-set-initial-state mode state)) - - -;(global-evil-tabs-mode t) -;(evil-mode 1) ;;--------------------------------------------------------------------------------------- ;; Fiplr ;; @@ -139,7 +111,7 @@ (require 'projectile) (projectile-global-mode) -(setq projectile-enable-caching nil) +(setq projectile-enable-caching t) (require 'projectile-speedbar) ;(require 'cc-mode) @@ -163,10 +135,19 @@ - ;; gnu global support ;(require 'semantic/db) ;(global-semanticdb-minor-mode 1) (require 'init-ggtags) + + +(global-unset-key "\C-o") +(global-set-key (kbd "C-o f") 'ido-find-file) +(global-set-key (kbd "C-o j") 'ido-switch-buffer) + +(global-set-key (kbd "C-o g") 'ggtags-find-file) +(global-set-key (kbd "C-o t") 'ggtags-find-tag-dwim) + +(global-set-key (kbd "M-g M-g") 'magit-status)