X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig%2Finit-key-binding.el;h=cadcf296f3ab232a1f2a95655df9c948ab80819b;hb=8300675f36f1b4caad5288c05d47ad4fdb5bd44b;hp=bf90894aa48fd225f207e6588f375d32402d16ff;hpb=14062b66a32f5c16911daa739e4d91e972572943;p=dotfiles.git diff --git a/emacs.d/config/init-key-binding.el b/emacs.d/config/init-key-binding.el index bf90894..cadcf29 100644 --- a/emacs.d/config/init-key-binding.el +++ b/emacs.d/config/init-key-binding.el @@ -1,8 +1,49 @@ ;; This file is for some global key binding + +(setq mac-command-modifier 'super) ; make cmd key do Meta + +(global-set-key (kbd "") '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-h") 'persp-switch) +(global-set-key (kbd "s-j") 'helm-projectile-switch-to-buffer) +(global-set-key (kbd "s-k") 'helm-cmd-t) + + +(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" . pl-switch-buffers) + ("h" . persp-switch) + ("k" . helm-cmd-t) + ("w" . save-buffer) + ("q" . helm-find-files) + ("-" . split-window-below) + ("\\" . split-window-right) + ("o" . occur) + ("b" . helm-find-files))) + +;; if current is not a project, useing helm-mini instead +(defun pl-switch-buffers () + (interactive) + (if (projectile-project-p) + (helm-projectile-switch-to-buffer) + (helm-mini))) + + +;; key-chord (require 'key-chord) -;(setq key-chord-two-keys-delay 0.2) +(setq key-chord-two-keys-delay 0.5) ;; from emacs conference 2015 workshop (defun keychord-keymap (keychord bindings) @@ -11,11 +52,6 @@ (define-key keymap (car binding) (cdr binding))) (key-chord-define-global keychord keymap)) - - - -;;; keychord -;;; (defun switch-to-previous-buffer () "Switch to previously open buffer. Repeated invocations toggle between the two most recently open buffers." (interactive) @@ -33,25 +69,21 @@ ;(key-chord-define-global "sk" 'helm-find-files) -(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 "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) @@ -62,31 +94,21 @@ (key-chord-define minibuffer-local-filename-must-match-map "jj" 'keyboard-escape-quit) +(define-key minibuffer-local-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-ns-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-isearch-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-completion-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-must-match-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-must-match-filename-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-filename-completion-map [escape] 'keyboard-escape-quit) +(define-key minibuffer-local-filename-must-match-map [escape] 'keyboard-escape-quit) -(key-chord-mode 1) +(key-chord-mode 1) + -;;; 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-;" @@ -153,19 +175,6 @@ -(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 " M-n") 'find-file) ;(global-set-key (kbd " M-m") 'find-file) @@ -177,15 +186,7 @@ -(setq mac-command-modifier 'super) ; make cmd key do Meta - - -;; super key for elscreen tabs -(global-set-key (kbd "") '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 @@ -201,33 +202,21 @@ (global-set-key (kbd "s-8") (lambda () (interactive) (elscreen-goto 8))) ;; super key for windows -(global-set-key (kbd "s-l") 'split-window-below) -(global-set-key (kbd "s-h") 'split-window-right) -(global-set-key (kbd "s-i") 'other-window) -(global-set-key (kbd "s-j") 'delete-other-windows) - -(global-set-key (kbd "s-k") (lambda () (interactive) - (split-window-right) - (other-window 1) - (ido-find-file))) +;(global-set-key (kbd "s-l") 'split-window-below) +;(global-set-key (kbd "s-h") 'split-window-right) +;(global-set-key (kbd "s-i") 'other-window) +;(global-set-key (kbd "s-j") 'delete-other-windows) + +;(global-set-key (kbd "s-k") (lambda () (interactive) +; (split-window-right) +; (other-window 1) +; (ido-find-file))) ;(global-set-key (kbd "M-g M-w") 'other-window) -;;---------------------------------------------------------------------------- -;; C-o prefix binding for some File/Buffer switching/openning -;; -;;(global-unset-key "\C-o") -;;(global-set-key (kbd "C-o C-o") 'keyboard-quit);; same as C-g to quit -;;; 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-j") 'ido-find-file) ;(global-set-key (kbd "C-o C-g") 'ggtags-find-file)