emacs: evil - map insert mode to emacs mode, and using jj to switch between
authorPeng Li <seudut@gmail.com>
Thu, 18 Jun 2015 14:15:18 +0000 (22:15 +0800)
committerPeng Li <seudut@gmail.com>
Thu, 18 Jun 2015 14:15:18 +0000 (22:15 +0800)
emacs mode and normal mode

emacs.d/config/init-color-theme.el
emacs.d/config/init-evil.el
emacs.d/config/init-key-binding.el
emacs.d/config/my-packages.el
emacs.d/init.el

index cb50ec0..d464d8f 100644 (file)
@@ -20,7 +20,7 @@
 
 ;;; this variable should equal as height in mode-line
 (custom-set-variables
 
 ;;; this variable should equal as height in mode-line
 (custom-set-variables
- '(powerline-text-scale-factor 0.74)) ;; 100/140
+ '(powerline-text-scale-factor 0.85)) ;; 100/140
 
 (custom-set-faces
 ;;; '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil :height 0.8 ))))
 
 (custom-set-faces
 ;;; '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil :height 0.8 ))))
index bd9b748..8f6f015 100644 (file)
@@ -2,24 +2,47 @@
 ;;---------------------------------------------------------------------------------------
 ;; evil
 ;;
 ;;---------------------------------------------------------------------------------------
 ;; evil
 ;;
+
+(require 'evil)
+(defalias 'evil-insert-state 'evil-emacs-state)
+;; C-o C-o switch to normal mode, defined in config/init-key-binding.el
+;;;(global-set-key (kbd "C-o C-o") 'evil-normal-state)
+
+;;https://github.com/toumorokoshi/yt.rc/blob/master/emacs/my-evil.el
+;; let's disable keymaps we don't want.
+;; basically, anything that uses C or M
+(define-key evil-visual-state-map "\C-w" nil)
+;(define-key evil-normal-state-map (kbd "M-.") nil)
+(define-key evil-normal-state-map "\C-t" nil)
+(define-key evil-normal-state-map "\C-p" nil)
+(define-key evil-normal-state-map "\C-n" nil)
+(define-key evil-normal-state-map "\C-k" nil)
+(define-key evil-normal-state-map "\C-l" nil)
+(define-key evil-normal-state-map "\C-k" nil)
+(define-key evil-normal-state-map "\C-j" nil)
+(define-key evil-normal-state-map "\C-o" nil)
+
+
 (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)
 
 (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)
 
 (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)
+(setq key-chord-two-keys-delay 0.5)
 (key-chord-define evil-insert-state-map "jj" 'evil-normal-state)
 (key-chord-define evil-insert-state-map "jj" 'evil-normal-state)
+(key-chord-define evil-emacs-state-map "jj" 'evil-normal-state)
+
 (key-chord-mode 1)
 (key-chord-mode 1)
+
 (define-key evil-normal-state-map [escape] 'keyboard-quit)
 (define-key evil-visual-state-map [escape] 'keyboard-quit)
 (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-map [jscape] '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-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)
@@ -27,7 +50,8 @@
 
 
 ;; cursor shape
 
 
 ;; cursor shape
-(setq evil-emacs-state-cursor '("red" box))
+;(setq evil-emacs-state-cursor '("red" box))
+(setq evil-emacs-state-cursor '("red" bar))
 (setq evil-normal-state-cursor '("green" box))
 (setq evil-visual-state-cursor '("orange" box))
 (setq evil-insert-state-cursor '("red" bar))
 (setq evil-normal-state-cursor '("green" box))
 (setq evil-visual-state-cursor '("orange" box))
 (setq evil-insert-state-cursor '("red" bar))
index 83d91c1..9b1403d 100644 (file)
@@ -45,7 +45,9 @@
 ;;
 (global-unset-key "\C-o")
 ;;(global-set-key (kbd "C-o C-o") 'keyboard-quit);; same as C-g to quit
 ;;
 (global-unset-key "\C-o")
 ;;(global-set-key (kbd "C-o C-o") 'keyboard-quit);; same as C-g to quit
-(global-set-key (kbd "C-o C-o") 'fiplr-find-file)
+;;; c-o c-o swith to normal mode 
+(global-set-key (kbd "C-o C-o") 'evil-normal-state)
+;;(global-set-key (kbd "C-o C-o") 'fiplr-find-file)
 (global-set-key (kbd "C-o C-f") 'ido-find-file)
 (global-set-key (kbd "C-o C-n") 'recentf-ido-find-file)
 (global-set-key (kbd "C-o C-j") 'ido-switch-buffer)
 (global-set-key (kbd "C-o C-f") 'ido-find-file)
 (global-set-key (kbd "C-o C-n") 'recentf-ido-find-file)
 (global-set-key (kbd "C-o C-j") 'ido-switch-buffer)
index ddb2759..a0471d5 100644 (file)
@@ -51,6 +51,7 @@
     recentf-ext
     linum-relative
     jekyll-modes
     recentf-ext
     linum-relative
     jekyll-modes
+    evil-escape
   ) "a list of packages to ensure are installed at launch.")
 
 (require 'cl)
   ) "a list of packages to ensure are installed at launch.")
 
 (require 'cl)
index 61c565d..30bcab4 100644 (file)
@@ -15,7 +15,7 @@
 (add-to-list 'default-frame-alist '(width  . 120))
 (add-to-list 'default-frame-alist '(height . 40))
 ;(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-12:weight:light" ))
 (add-to-list 'default-frame-alist '(width  . 120))
 (add-to-list 'default-frame-alist '(height . 40))
 ;(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-12:weight:light" ))
-(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-14" ))
+(add-to-list 'default-frame-alist '(font . "Source Code Pro for Powerline-12" ))
 (setq inhibit-startup-message t)
 
 (put 'set-goal-column 'disabled nil)
 (setq inhibit-startup-message t)
 
 (put 'set-goal-column 'disabled nil)
 ;        (insert " "))
 ;      (insert (format-time-string "%m-%d  %I:%M %p %a ")))))
 
 ;        (insert " "))
 ;      (insert (format-time-string "%m-%d  %I:%M %p %a ")))))
 
+
+
+
+;;; set font size of minibuffer
+;;;; http://stackoverflow.com/questions/7869429/altering-the-font-size-for-the-emacs-minibuffer-separately-from-default-emacs
+(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup)
+(defun my-minibuffer-setup ()
+       (set (make-local-variable 'face-remapping-alist)
+          '((default :height 120))))
+
+
+
+(add-hook 'minibuffer-setup-hook
+          (lambda ()
+            (make-local-variable 'face-remapping-alist)
+            (add-to-list 'face-remapping-alist '(default (:background "green")))))
+
+
+
+
+;;; map C-W in minibuffer to delete word before cussor
+
+
+
+;(require 'evil-escape)
+;(setq-default evil-escape-delay 0.2)  
+;(setq evil-escape-excluded-major-modes '(dired-mode))
+;(setq-default evil-escape-key-sequence "jj")
+;(evil-escape-mode 1)