1 ;; This file is for some global key binding
5 ;(setq key-chord-two-keys-delay 0.2)
7 ;; from emacs conference 2015 workshop
8 (defun keychord-keymap (keychord bindings)
9 (setq keymap (make-sparse-keymap))
10 (dolist (binding bindings)
11 (define-key keymap (car binding) (cdr binding)))
12 (key-chord-define-global keychord keymap))
19 (defun switch-to-previous-buffer ()
20 "Switch to previously open buffer. Repeated invocations toggle between the two most recently open buffers."
22 (switch-to-buffer (other-buffer (current-buffer) 1)))
26 ;n(keychord-keymap "ss"
29 ; ("o" . delete-other-windows)))
31 ;; for some helm key mapping
32 ;(key-chord-define-global "sj" 'helm-mini)
33 ;(key-chord-define-global "sk" 'helm-find-files)
36 ;(key-chord-define-global "JJ" 'save-buffer)
37 ;(key-chord-define-global "HH" 'save-buffer)
38 ;(key-chord-define-global "KK" 'save-buffer)
39 ;(key-chord-define-global "LL" 'save-buffer)
40 ;(key-chord-define-global "LL" 'save-buffer)
41 ;(key-chord-define-global "UU" 'save-buffer)
42 ;(key-chord-define-global "II" 'save-buffer)
43 ;(key-chord-define-global "OO" 'save-buffer)
44 ;(key-chord-define-global "NN" 'save-buffer)
45 ;(key-chord-define-global "MM" 'save-buffer)
46 ;(key-chord-define-global "PP" 'save-buffer)
47 ;(key-chord-define-global "YY" 'save-buffer)
52 ;(key-chord-define minibuffer-local-map "qq" "\C-g")
55 (key-chord-define minibuffer-local-map "jj" 'keyboard-escape-quit)
56 (key-chord-define minibuffer-local-ns-map "jj" 'keyboard-escape-quit)
57 (key-chord-define minibuffer-local-isearch-map "jj" 'keyboard-escape-quit)
58 (key-chord-define minibuffer-local-completion-map "jj" 'keyboard-escape-quit)
59 (key-chord-define minibuffer-local-must-match-map "jj" 'keyboard-escape-quit)
60 (key-chord-define minibuffer-local-must-match-filename-map "jj" 'keyboard-escape-quit)
61 (key-chord-define minibuffer-local-filename-completion-map "jj" 'keyboard-escape-quit)
62 (key-chord-define minibuffer-local-filename-must-match-map "jj" 'keyboard-escape-quit)
70 ;;; global key mapping, windows buffer, tab, project
72 (defun pl-make-keymap (key bindings)
73 (setq keymap (make-sparse-keymap))
74 (dolist (binding bindings)
75 (define-key keymap (car binding) (cdr binding)))
76 (global-set-key key keymap))
79 (pl-make-keymap "\M-s"
81 ("k" . helm-find-files)
83 ("q" . helm-find-files)
84 ("-" . split-window-below)
85 ("\\" . split-window-right)
86 ; ("\M-s" . split-window-below)
87 ; ("\M-v" . split-window-right)
89 ("b" . helm-find-files)))
91 ;; ESC ; j M-; add comment,
92 (pl-make-keymap "\M-;"
93 '(("v" . split-window-below)
94 ("h" . split-window-right)
95 ("b" . helm-find-files)))
98 ;(pl-make-keymap "\M-c"
99 ; '(("v" . split-window-below)
100 ; ("h" . split-window-right)
101 ; ("b" . helm-find-files)))
104 ;; Esc o - set font , can change
105 ;; M-l M-u low/up caps can changed
106 ;; M-t transpose, not used, changed
111 ;(global-set-key (kbd "M-s j") 'helm-mini)
112 ;(global-set-key (kbd "M-s k") 'helm-find-files)
115 (global-set-key (kbd "ESC M-h") 'helm-mini)
116 (global-set-key (kbd "ESC M-j") 'helm-mini)
117 (global-set-key (kbd "ESC M-k") 'helm-mini)
118 (global-set-key (kbd "ESC M-l") 'helm-mini)
119 (global-set-key (kbd "ESC M-;") 'helm-mini)
120 (global-set-key (kbd "ESC M-y") 'helm-mini)
121 (global-set-key (kbd "ESC M-u") 'helm-mini)
122 (global-set-key (kbd "ESC M-i") 'helm-mini)
123 (global-set-key (kbd "ESC M-o") 'other-window)
124 (global-set-key (kbd "ESC M-p") 'helm-mini)
125 (global-set-key (kbd "ESC M-n") 'helm-mini)
126 (global-set-key (kbd "ESC M-m") 'helm-mini)
127 (global-set-key (kbd "ESC M-y") 'helm-mini)
128 (global-set-key (kbd "ESC M-s") 'split-window-below)
129 (global-set-key (kbd "ESC M-v") 'split-window-right)
130 (global-set-key (kbd "ESC M-u") 'helm-mini)
131 (global-set-key (kbd "ESC M-i") 'helm-mini)
132 (global-set-key (kbd "ESC M-p") 'helm-mini)
133 (global-set-key (kbd "ESC M-;") 'helm-mini)
134 (global-set-key (kbd "ESC M-1") 'delete-other-windows)
135 (global-set-key (kbd "ESC M-2") 'split-window-below)
136 (global-set-key (kbd "ESC M-3") 'split-window-right)
139 (global-set-key (kbd "C-; C-j") 'helm-mini)
141 ;(global-set-key (kbd "<escape> j") 'helm-mini)
142 ;(global-set-key (kbd "<escape> k") 'helm-find-files)
143 ;(global-set-key (kbd "<escape> l") 'find-file)
144 ;(global-set-key (kbd "<escape> f") 'find-file)
145 ;(global-set-key (kbd "<escape> M-a") 'find-file)
146 ;(global-set-key (kbd "<escape> M-a") 'find-file)
147 ;(global-set-key (kbd "<escape> M-a") 'find-file)
148 ;(global-set-key (kbd "<escape> M-o") 'delete-other-windows)
149 ;(global-set-key (kbd "<escape> M-h") 'other-window)
150 ;(global-set-key (kbd "<escape> M-j") 'find-file)
151 ;(global-set-key (kbd "<escape> M-k") 'find-file)
152 ;(global-set-key (kbd "<escape> M-l") 'find-file)
157 ;(global-set-key (kbd "<escape> M-n") 'find-file)
158 ;(global-set-key (kbd "<escape> M-m") 'find-file)
159 ;(global-set-key (kbd "<escape> M-p") 'find-file)
160 ;(global-set-key (kbd "<escape> M-u") 'find-file)
161 ;(global-set-key (kbd "<escape> M-y") 'find-file)
162 ;(global-set-key (kbd "<escape> <escape>") 'find-file)
167 (setq mac-command-modifier 'super) ; make cmd key do Meta
171 ;; super key for elscreen tabs
172 (global-set-key (kbd "<s-return>") 'toggle-frame-fullscreen)
173 (global-set-key (kbd "s-t") 'elscreen-create)
174 (global-set-key (kbd "s-n") 'elscreen-next)
175 (global-set-key (kbd "s-p") 'elscreen-previous)
176 ;;(global-set-key (kbd "s-k") (lambda () (interactive) (elscreen-kill (elscreen-get-current-screen))))
177 ;;(global-set-key (kbd "s-d") (lambda () (interactive) (elscreen-kill (elscreen-get-current-screen))))
180 (global-set-key (kbd "s-`") (lambda () (interactive) (elscreen-goto 0)))
181 (global-set-key (kbd "s-1") (lambda () (interactive) (elscreen-goto 1)))
182 (global-set-key (kbd "s-2") (lambda () (interactive) (elscreen-goto 2)))
183 (global-set-key (kbd "s-3") (lambda () (interactive) (elscreen-goto 3)))
184 (global-set-key (kbd "s-4") (lambda () (interactive) (elscreen-goto 4)))
185 (global-set-key (kbd "s-5") (lambda () (interactive) (elscreen-goto 5)))
186 (global-set-key (kbd "s-6") (lambda () (interactive) (elscreen-goto 6)))
187 (global-set-key (kbd "s-7") (lambda () (interactive) (elscreen-goto 7)))
188 (global-set-key (kbd "s-8") (lambda () (interactive) (elscreen-goto 8)))
190 ;; super key for windows
191 (global-set-key (kbd "s-l") 'split-window-below)
192 (global-set-key (kbd "s-h") 'split-window-right)
193 (global-set-key (kbd "s-i") 'other-window)
194 (global-set-key (kbd "s-j") 'delete-other-windows)
196 (global-set-key (kbd "s-k") (lambda () (interactive)
204 ;(global-set-key (kbd "M-g M-w") 'other-window)
206 ;;----------------------------------------------------------------------------
207 ;; C-o prefix binding for some File/Buffer switching/openning
209 ;;(global-unset-key "\C-o")
210 ;;(global-set-key (kbd "C-o C-o") 'keyboard-quit);; same as C-g to quit
211 ;;; c-o c-o swith to normal mode
212 ;(global-set-key (kbd "C-o C-o") 'evil-normal-state)
213 ;;(global-set-key (kbd "C-o C-o") 'fiplr-find-file)
214 ;(global-set-key (kbd "C-o C-f") 'ido-find-file)
215 ;(global-set-key (kbd "C-o C-n") 'recentf-ido-find-file)
216 ;(global-set-key (kbd "C-o C-j") 'ido-switch-buffer)
217 ;(global-set-key (kbd "C-o C-j") 'ido-find-file)
220 ;(global-set-key (kbd "C-o C-g") 'ggtags-find-file)
221 ;(global-set-key (kbd "C-o C-t") 'ggtags-find-tag-dwim)
223 ;(global-set-key (kbd "M-g M-g") 'magit-status)
225 (global-set-key [f7] 'winner-undo)
226 (global-set-key [C-f7] 'winner-redo)
229 (defun recentf-ido-find-file ()
230 "Find a recent file using Ido."
232 (let ((file (ido-completing-read "Choose recent file: " recentf-list nil t)))
237 (global-set-key "\C-s" 'isearch-forward-regexp)
238 (global-set-key "\C-r" 'isearch-backward-regexp)
240 (provide 'init-key-binding)