emacs - improve key mapping
[dotfiles.git] / emacs.d / config / init-key-binding.el
index d4a43fb..5a53c94 100644 (file)
@@ -2,8 +2,37 @@
 
 (require 'key-chord)
 
-;(setq key-chord-two-keys-delay 0.2)
+(setq mac-command-modifier 'super) ; make cmd key do Meta
+
+(global-set-key (kbd "<s-return>") 'toggle-frame-fullscreen)
+
+;; global swith project - plugin projectile
+(global-set-key (kbd "s-t") 'helm-projectile-switch-project)
+(global-set-key (kbd "s-n") 'persp-next)
+(global-set-key (kbd "s-p") 'persp-prev)
+;(global-set-key (kbd "s-m") 'helm-projectile-switch-project)
+
+;;; global key mapping, windows buffer, tab, project
+(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))
+
+;; Esc s or M-s as prefix key
+(pl-make-keymap "\M-s"
+            '(("j" . helm-projectile-switch-to-buffer)
+             ("h" . persp-switch)
+             ("k" . helm-find-files)
+             ("f" . helm-ls-git-ls)
+             ("w" . save-buffer)
+             ("q" . helm-find-files)
+             ("-" . split-window-below)
+             ("\\" . split-window-right)
+             ("o" . occur)
+             ("b" . helm-find-files)))
 
+;(setq key-chord-two-keys-delay 0.2)
 ;; from emacs conference 2015 workshop
 (defun keychord-keymap (keychord bindings)
   (setq keymap (make-sparse-keymap))
 ;(key-chord-define-global "sj" 'helm-mini)
 ;(key-chord-define-global "sk" 'helm-find-files)
 
-;(key-chord-define-global ";w" 'save-buffer)
-;(key-chord-define-global ";s" 'split-window-below)
-;(key-chord-define-global ";v" 'split-window-right)
-;(key-chord-define-global ";q" 'delete-window)
-
 
-(key-chord-define-global "JJ" 'save-buffer)
-(key-chord-define-global "HH" 'save-buffer)
-(key-chord-define-global "KK" 'save-buffer)
-(key-chord-define-global "LL" 'save-buffer)
-(key-chord-define-global "LL" 'save-buffer)
-(key-chord-define-global "UU" 'save-buffer)
-(key-chord-define-global "II" 'save-buffer)
-(key-chord-define-global "OO" 'save-buffer)
-(key-chord-define-global "NN" 'save-buffer)
-(key-chord-define-global "MM" 'save-buffer)
-(key-chord-define-global "PP" 'save-buffer)
-(key-chord-define-global "YY" 'save-buffer)
+;(key-chord-define-global "JJ" 'save-buffer)
+;(key-chord-define-global "HH" 'save-buffer)
+;(key-chord-define-global "KK" 'save-buffer)
+;(key-chord-define-global "LL" 'save-buffer)
+;(key-chord-define-global "LL" 'save-buffer)
+;(key-chord-define-global "UU" 'save-buffer)
+;(key-chord-define-global "II" 'save-buffer)
+;(key-chord-define-global "OO" 'save-buffer)
+;(key-chord-define-global "NN" 'save-buffer)
+;(key-chord-define-global "MM" 'save-buffer)
+;(key-chord-define-global "PP" 'save-buffer)
+;(key-chord-define-global "YY" 'save-buffer)
 
 
 
 
-(key-chord-define minibuffer-local-map "qq" "\C-g")
+;(key-chord-define minibuffer-local-map "qq" "\C-g")
 
 
 (key-chord-define minibuffer-local-map "jj"  'keyboard-escape-quit)
 
 
 
-;;; global key mapping, windows buffer, tab, project
-;;;
-(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))
-
-;; ESC s j
-(pl-make-keymap "\M-s"
-            '(("j" . helm-mini)
-             ("k" . helm-find-files)
-             ("w" . save-buffer)
-             ("q" . helm-find-files)
-             ("-" . split-window-below)
-             ("\\" . split-window-right)
-;            ("\M-s" . split-window-below)
-;            ("\M-v" . split-window-right)
-             ("o" . occur)
-             ("b" . helm-find-files)))
 
 ;; ESC ; j M-; add comment, 
 (pl-make-keymap "\M-;"
              ("b" . helm-find-files)))
 
 ;; ESC c 
-(pl-make-keymap "\M-c"
-            '(("v" . split-window-below)
-
-
-
-             ("h" . split-window-right)
-             ("b" . helm-find-files)))
+;(pl-make-keymap "\M-c"
+;            '(("v" . split-window-below)
+;            ("h" . split-window-right)
+;            ("b" . helm-find-files)))
 
 
 ;; Esc o - set font , can change
 
 
 
-(defvar sacha/windmove-map (make-sparse-keymap))
-(define-key sacha/windmove-map "h" 'windmove-left)
-(define-key sacha/windmove-map "t" 'windmove-up)
-(define-key sacha/windmove-map "n" 'windmove-down)
-(define-key sacha/windmove-map "s" 'windmove-right)
-(define-key sacha/windmove-map "[left]" 'windmove-left)
-(define-key sacha/windmove-map "[up]" 'windmove-up)
-(define-key sacha/windmove-map "[down]" 'windmove-down)
-(define-key sacha/windmove-map "[right]" 'windmove-right)
-;(key-chord-define-global "yy"     sacha/windmove-map)
-
-
-
 ;; project
 ;(global-set-key (kbd "<escape> M-n") 'find-file)
 ;(global-set-key (kbd "<escape> M-m") 'find-file)
 
 
 
-(setq mac-command-modifier 'super) ; make cmd key do Meta
-
-
 
-;; super key for elscreen tabs
-(global-set-key (kbd "<s-return>") 'toggle-frame-fullscreen)
-(global-set-key (kbd "s-t") 'elscreen-create)
-(global-set-key (kbd "s-n") 'elscreen-next)
-(global-set-key (kbd "s-p") 'elscreen-previous)
 ;;(global-set-key (kbd "s-k") (lambda () (interactive) (elscreen-kill (elscreen-get-current-screen))))
 ;;(global-set-key (kbd "s-d") (lambda () (interactive) (elscreen-kill (elscreen-get-current-screen))))
 ;; C-c C-d