X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig%2Finit-key-binding.el;h=980f191aefa8d60b526c3684207b7b90fcae219e;hb=03e229bd6b9d0217e8b6365bf36bc0070faff539;hp=9b1403d0dc27676c44d5da52f90df9aa21de7282;hpb=26822a21ae3aab75b407d75dcc79f4d935fd1e95;p=dotfiles.git diff --git a/emacs.d/config/init-key-binding.el b/emacs.d/config/init-key-binding.el index 9b1403d..980f191 100644 --- a/emacs.d/config/init-key-binding.el +++ b/emacs.d/config/init-key-binding.el @@ -1,8 +1,108 @@ ;; This file is for some global key binding -;;---------------------------------------------------------------------------- -;; super prefix binding for elscreen TAB/Windows operation -; + + + +(require 'key-chord) + +(setq key-chord-two-keys-delay 0.2) + +;; from emacs conference 2015 workshop +(defun keychord-keymap (keychord bindings) + (setq keymap (make-sparse-keymap)) + (dolist (binding bindings) + (define-key keymap (car binding) (cdr binding))) + (key-chord-define-global keychord keymap)) + + +(defun switch-to-previous-buffer () + "Switch to previously open buffer. Repeated invocations toggle between the two most recently open buffers." + (interactive) + (switch-to-buffer (other-buffer (current-buffer) 1))) + + + + +;; main keymap +(keychord-keymap "ss" + '(("j" . helm-mini) + ("k" . find-file) + ("o" . delete-other-windows))) + +;; misc +;; eval-buffer +;; packet-list-install +;; + + +;; for some helm key mapping +(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 "x0" 'other-window) +;(key-chord-define-global "x1" 'delete-other-windows) + + +;; same set ESC ESC as a prefix key map +;; Windows +;(global-set-key (kbd " M-a") 'find-file) +(global-set-key (kbd " M-o") 'delete-other-windows) +(global-set-key (kbd " M-h") 'other-window) +(global-set-key (kbd " M-j") 'find-file) +(global-set-key (kbd " M-k") 'find-file) +(global-set-key (kbd " M-l") 'find-file) + + +;; project +(global-set-key (kbd " M-n") 'find-file) +(global-set-key (kbd " M-m") 'find-file) +(global-set-key (kbd " M-p") 'find-file) +(global-set-key (kbd " M-u") 'find-file) +(global-set-key (kbd " M-y") 'find-file) +;(global-set-key (kbd " ") 'find-file) + + +(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 "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-ns-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-isearch-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-completion-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-must-match-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-must-match-filename-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-filename-completion-map "jj" 'keyboard-escape-quit) +(key-chord-define minibuffer-local-filename-must-match-map "jj" 'keyboard-escape-quit) + + + +(key-chord-mode 1) + +;;;;;;;;;;;;;(provide 'init-keychord) + + (setq mac-command-modifier 'super) ; make cmd key do Meta ;; super key for elscreen tabs