From: Peng Li Date: Fri, 4 Sep 2015 07:32:03 +0000 (+0800) Subject: emacs merge init-key-chord into init-key-bindings.el X-Git-Url: http://47.100.26.94:8080/?a=commitdiff_plain;h=03e229bd6b9d0217e8b6365bf36bc0070faff539;p=dotfiles.git emacs merge init-key-chord into init-key-bindings.el --- 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 diff --git a/emacs.d/config/init-keychord.el b/emacs.d/config/init-keychord.el deleted file mode 100644 index e15e56b..0000000 --- a/emacs.d/config/init-keychord.el +++ /dev/null @@ -1,28 +0,0 @@ - - -(require 'key-chord) - -(setq key-chord-two-keys-delay 0.5) - -;; 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)) - -;; main keymap -(keychord-keymap "dk" - '(("f" . helm-mini) - ("a" . find-file))) - - -;; helm-mini find buffer and recent file -(key-chord-define-global "sj" 'helm-mini) -(key-chord-define-global "sk" 'helm-find-files) -;(key-chord-define-global ";s" ') - -(key-chord-define-global "jj" "\C-g") -(key-chord-mode 1) - -(provide 'init-keychord) diff --git a/emacs.d/init.el b/emacs.d/init.el index c1e9cec..905fe02 100644 --- a/emacs.d/init.el +++ b/emacs.d/init.el @@ -133,4 +133,4 @@ "eim-py" "euc-cn" 'eim-use-package "拼音" "汉字拼音输入法" "~/.emacs.d/site-lisp/eim/py.txt") -(require 'init-keychord) +;(require 'init-keychord)