X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=34d0951534f7d15678e61eb3b078fd87aad4b1fd;hb=81495e182555b457de25e6aaea8091d6a2ad2c2f;hp=ff8d4abece7c0347b98adb8673369c1571981fe8;hpb=9b3224b312ed7d76f2aeafa59be8b67b1612d61f;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index ff8d4ab..34d0951 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -692,95 +692,6 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= #+END_SRC -** =Super= bindings for file, buffer and windows - -Some global bindings on =Super=, on Mac, it is =Command= - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (defun sd/delete-current-window () - (interactive) - (if (> (length (window-list)) 1) - (delete-window) - (message "Only one Windows now!"))) - - ;; (global-set-key (kbd "s-h") 'keyboard-quit) - ;; (global-set-key (kbd "s-j") 'ido-switch-buffer) - ;; (global-set-key (kbd "s-k") 'ido-find-file) - ;; (global-set-key (kbd "s-l") 'sd/delete-current-window) - ;; s-l --> goto-line - ;; (global-set-key (kbd "s-/") 'swiper) - ;; s-; --> - ;; s-' --> 'next-multiframe-window - (global-set-key (kbd "") 'toggle-frame-fullscreen) - - (global-set-key (kbd "s-f") 'projectile-find-file) - - (global-set-key (kbd "s-`") 'mode-line-other-buffer) - - (global-set-key (kbd "s-n") 'persp-next) - (global-set-key (kbd "s-p") 'persp-prev) - - (global-set-key (kbd "s-=") 'text-scale-increase) - (global-set-key (kbd "s--") 'text-scale-decrease) - - ;; (global-set-key (kbd "s-u") 'undo-tree-visualize) - - - ;; someothers default mapping on super (command) key - ;; s-s save-buffer - ;; s-k kill-this-buffer - - - ;; s-h --> ns-do-hide-emacs - ;; s-j --> ido-switch-buffer + - ;; s-k --> kill-this-buffer - ;; s-l --> goto-line - ;; s-; --> undefined - ;; s-' --> next-multiframe-window - ;; s-ret --> toggle-frame-fullscreen + - - ;; s-y --> ns-paste-secondary - ;; s-u --> revert-buffer - ;; s-i --> undefined - but used for iterm globally - ;; s-o --> used for emacs globally - ;; s-p --> projectile-persp-switch-project + - ;; s-[ --> next-buffer + - ;; s-] --> previous-buffer + - - ;; s-0 --> undefined - ;; s-9 --> undefined - ;; s-8 --> undefined - ;; s-7 --> undefined - ;; s-6 --> undefined - ;; s-- --> center-line - ;; s-= --> undefined - - ;; s-n --> make-frame - ;; s-m --> iconify-frame - ;; s-b --> undefined - ;; s-, --> customize - ;; s-. --> undefined - ;; s-/ --> undefined - - ;; s-g --> isearch-repeat-forward - ;; s-f --> projectile-find-file + - ;; s-d --> isearch-repeat-background - ;; s-s --> save-buffer - ;; s-a --> make-whole-buffer - - ;; s-b --> undefined - ;; s-v --> yank - ;; s-c --> ns-copy-including-secondary - - ;; s-t --> ns-popup-font-panel - ;; s-r --> undefined - ;; s-e --> isearch-yanqk-kill - ;; s-w --> delete-frame - ;; s-q --> same-buffers-kill-emacs - - ;; s-` --> other-frame -#+END_SRC - ** Search Replace and highlight *** swiper #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -1315,7 +1226,7 @@ Toggle an eshell in split window below, refer [[http://www.howardism.org/Technic (select-window (sd/window-has-eshell))) (progn (let ((dir default-directory)) - + (split-window-vertically (- (/ (window-total-height) 3))) (other-window 1) (unless (and (boundp 'eshell-buffer-name) (get-buffer eshell-buffer-name)) @@ -1326,8 +1237,8 @@ Toggle an eshell in split window below, refer [[http://www.howardism.org/Technic (insert (format "cd %s" dir)) (eshell-send-input))))) - (global-unset-key (kbd "M-`")) - (global-set-key (kbd "M-`") 'sd/toggle-eshell-here) + ;; (global-unset-key (kbd "M-`")) + (global-set-key (kbd "s-e") 'sd/toggle-eshell-here) #+END_SRC *** TODO smart display @@ -1539,30 +1450,6 @@ Type =o= to go to the link #+END_SRC -** Projectile - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (use-package projectile - :ensure t - :init - (setq projectile-enable-caching t) - :config - (projectile-global-mode t)) - - (use-package persp-projectile - :ensure t - :config - (persp-mode) - :bind - (:map projectile-mode-map - ("s-t" . projectile-persp-switch-project))) - - ;; projectile-find-file - ;; projectile-switch-buffer - ;; projectile-find-file-other-window -#+END_SRC - ** Which key [[https://github.com/justbur/emacs-which-key][which-key]] show the key bindings @@ -2252,13 +2139,119 @@ new file =C-x C-f C-f= * NEXT Key Bindings Here are some global key bindings for basic editting ** Project operations - =super= -=projectile= settins +*** Projectile +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package projectile + :ensure t + :init + (setq projectile-enable-caching t) + :config + (projectile-global-mode t)) + + (use-package persp-projectile + :ensure t + :config + (persp-mode) + :bind + (:map projectile-mode-map + ("s-t" . projectile-persp-switch-project))) + + ;; projectile-find-file + ;; projectile-switch-buffer + ;; projectile-find-file-other-window +#+END_SRC + +*** project config =super= keybindings +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + ;; (global-set-key (kbd "s-h") 'keyboard-quit) + ;; (global-set-key (kbd "s-j") 'ido-switch-buffer) + ;; (global-set-key (kbd "s-k") 'ido-find-file) + ;; (global-set-key (kbd "s-l") 'sd/delete-current-window) + ;; s-l --> goto-line + ;; (global-set-key (kbd "s-/") 'swiper) + ;; s-; --> + ;; s-' --> 'next-multiframe-window + (global-set-key (kbd "") 'toggle-frame-fullscreen) + + (global-set-key (kbd "s-f") 'projectile-find-file) + (global-set-key (kbd "s-`") 'mode-line-other-buffer) + + (global-set-key (kbd "s-n") 'persp-next) + (global-set-key (kbd "s-p") 'persp-prev) + + (global-set-key (kbd "s-=") 'text-scale-increase) + (global-set-key (kbd "s--") 'text-scale-decrease) + + ;; (global-set-key (kbd "s-u") 'undo-tree-visualize) + + + ;; someothers default mapping on super (command) key + ;; s-s save-buffer + ;; s-k kill-this-buffer + + + ;; s-h --> ns-do-hide-emacs + ;; s-j --> ido-switch-buffer + + ;; s-k --> kill-this-buffer + ;; s-l --> goto-line + ;; s-; --> undefined + ;; s-' --> next-multiframe-window + ;; s-ret --> toggle-frame-fullscreen + + + ;; s-y --> ns-paste-secondary + ;; s-u --> revert-buffer + ;; s-i --> undefined - but used for iterm globally + ;; s-o --> used for emacs globally + ;; s-p --> projectile-persp-switch-project + + ;; s-[ --> next-buffer + + ;; s-] --> previous-buffer + + + ;; s-0 --> undefined + ;; s-9 --> undefined + ;; s-8 --> undefined + ;; s-7 --> undefined + ;; s-6 --> undefined + ;; s-- --> center-line + ;; s-= --> undefined + + ;; s-n --> make-frame + ;; s-m --> iconify-frame + ;; s-b --> undefined + ;; s-, --> customize + ;; s-. --> undefined + ;; s-/ --> undefined + + ;; s-g --> isearch-repeat-forward + ;; s-f --> projectile-find-file + + ;; s-d --> isearch-repeat-background + ;; s-s --> save-buffer + ;; s-a --> make-whole-buffer + + ;; s-b --> undefined + ;; s-v --> yank + ;; s-c --> ns-copy-including-secondary + + ;; s-t --> ns-popup-font-panel + ;; s-r --> undefined + ;; s-e --> isearch-yanqk-kill + ;; s-w --> delete-frame + ;; s-q --> same-buffers-kill-emacs + + ;; s-` --> other-frame +#+END_SRC + ** Windown & Buffer - =C-o= Defind a =hydra= function for windows, buffer & bookmark operations. And map it to =C-o= globally. Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to delete other windows #+BEGIN_SRC emacs-lisp :tangle yes :results silent (winner-mode 1) + (defun sd/delete-current-window () + (interactive) + (if (> (length (window-list)) 1) + (delete-window) + (message "Only one Windows now!"))) + (defun sd/toggle-max-windows () "Set maximize current if there are multiple windows, if only one window, window undo" @@ -2374,11 +2367,6 @@ Show the mark ring using =helm-mark-ring=, also mapping =M-`= to quit minibuffer toggle the mark ring. the best way is add a new action and mapping to =helm-source-mark-ring=, but since there is no map such as =helm-mark-ring=map=, so I cannot binding a key to the quit action. #+BEGIN_SRC emacs-lisp :tangle yes :results silent - ;; (defun sd/helm-quit-mark-ring (key) - ;; "exit" - ;; (keyboard-quit)) - - ;; (helm-add-action-to-source "Exit helm" 'sd/helm-quit-mark-ring helm-source-mark-ring 1) (global-set-key (kbd "M-`") #'helm-mark-ring) (define-key minibuffer-local-map (kbd "M-`") 'keyboard-escape-quit) @@ -2461,11 +2449,19 @@ Search, replace and hightlight will in later paragraph =M-n=, =M-p=, history **** tagss ** Edit +*** basic editting - cut, yank, =C-w=, =C-y= - save, revert - undo, redo - undo-tree - select, expand-region - spell check, flyspell + +*** Kill ring +=helm-show-kill-ring= +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (global-set-key (kbd "M-y") #'helm-show-kill-ring) +#+END_SRC + ** Search & Replace / hightlight =M-s= *** search *** replace @@ -2538,9 +2534,9 @@ stolen from [[https://github.com/mariolong/emacs.d/blob/f6a061594ef1b5d1f4750e9d #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package bing-dict :ensure t - :commands (bing-dict-brief) - :config - (global-set-key (kbd "s-d") 'bing-dict-brief)) + :init + (global-set-key (kbd "s-d") 'bing-dict-brief) + :commands (bing-dict-brief)) #+END_SRC * TODO Temp directory for cached/history/temp files