;;---------------------------------------------------------------------------------------
;; 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)
-;; 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)
+(setq key-chord-two-keys-delay 0.5)
(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)
+
(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)
;; 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))
;;
(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)
(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)
; (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)