X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=9d7b6cef14ee17a856a617aaf2cbe93834e4b64c;hb=844e2389fcec27c0bb41f129b4cc1070f0c2b80d;hp=49f9377df766b96d180a205f3d8eb485e010865b;hpb=98600d424e51abe4c0ddae99802640b72eec5c16;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 49f9377..9d7b6ce 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -515,7 +515,8 @@ Revised powerline-center-theme '("%e" (:eval (let* ((active (powerline-selected-window-active)) - (mode-line-buffer-id (if active 'sd/mode-line-buffer-id 'mode-line-buffer-id-inactive)) + ;; (mode-line-buffer-id (if active 'sd/mode-line-buffer-id 'mode-line-buffer-id-inactive)) + (mode-line-buffer-id (if active 'sd/mode-line-buffer-id 'powerline-inactive1)) (mode-line (if active 'mode-line 'mode-line-inactive)) (my-face1 (if active 'sd/powerline-active1 'powerline-inactive1)) (my-face-buffer-modified (if (and (sd/buffer-is-eshel-or-scratch) (buffer-modified-p) (not buffer-read-only)) @@ -574,15 +575,17 @@ Fix the issue in mode line when showing triangle set height in mode line #+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defconst sd/mode-line-font-heigh 100 + "Defaulet the fontsize on mode line.") + (with-eval-after-load "powerline" - (if window-system - (progn - (let* ((base-font-size (face-attribute 'default :height))) - ;; 100/140;0.8 - (set-variable 'powerline-height (/ base-font-size 10)) - (set-variable 'powerline-text-scale-factor (/ (float 100) base-font-size))) - (set-face-attribute 'mode-line nil :height 100) - (set-face-attribute 'mode-line-inactive nil :height 100)))) + (when (display-graphic-p) + (set-face-attribute 'mode-line-inactive nil :height sd/mode-line-font-heigh) + (set-face-attribute 'mode-line nil :height sd/mode-line-font-heigh) + (let* ((base-font-size (face-attribute 'default :height))) + ;; 100/140;0.8 + (set-variable 'powerline-height (/ base-font-size 10)) + (set-variable 'powerline-text-scale-factor (/ (float sd/mode-line-font-heigh) base-font-size))))) #+END_SRC * IDO & SMEX @@ -673,28 +676,6 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for ;; (set-face-attribute 'ivy-current-match nil :background "Orange" :foreground "black") (define-key read-expression-map (kbd "C-r") 'counsel-expression-history) (global-set-key (kbd "C-c C-r") 'ivy-resume)) - - - - ;; (global-set-key "\C-s" 'swiper) - ;; (global-set-key (kbd "") 'ivy-resume) - ;; ;; (global-set-key (kbd "C-x C-f") 'counsel-find-file) - ;; (global-set-key (kbd " l") 'counsel-load-library) - ;; (global-set-key (kbd " i") 'counsel-info-lookup-symbol) - ;; (global-set-key (kbd " u") 'counsel-unicode-char) - ;; (global-set-key (kbd "C-c g") 'counsel-git) - ;; (global-set-key (kbd "C-c j") 'counsel-git-grep) - ;; (global-set-key (kbd "C-c k") 'counsel-ag) - ;; (global-set-key (kbd "C-x l") 'counsel-locate) - ;; (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) - - ;; (set-face-attribute - ;; 'ivy-current-match nil - ;; :background "Orange" - ;; :foreground "black") - - ;; ivy-resume - ;; (define-key swiper-map (kbd "M-%") 'swiper-aa-replace) #+END_SRC ** helm @@ -1725,22 +1706,23 @@ as a http download client tool ** Elscreen Fix one elscreen issue when startup emacs https://github.com/knu/elscreen/issues/6 #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package elscreen - :ensure t - :init - (setq elscreen-tab-display-control nil) - :config - (elscreen-start) - (set-face-attribute 'elscreen-tab-current-screen-face nil :foreground "black" :background "yellow") - (set-face-attribute 'elscreen-tab-other-screen-face nil :foreground "black" :background "disabledControlTextColor" :underline nil) - ;; (global-unset-key (kbd)); M-TAB switch screen - (global-set-key (kbd "s-`") '(lambda () (interactive) (elscreen-goto 0))) - (dotimes (i 8) - (global-set-key (kbd (concat "s-" (number-to-string (+ i 1)))) - `(lambda () (interactive) (elscreen-goto ,(+ i 1))))) - (global-set-key (kbd "s-t") 'elscreen-create) - (global-set-key (kbd "s-n") 'elscreen-next) - (global-set-key (kbd "s-p") 'elscreen-previous)) + ;; (use-package elscreen + ;; :ensure t + ;; :init + ;; (setq elscreen-tab-display-control nil) + ;; :config + ;; ;; (elscreen-start) + ;; (set-face-attribute 'elscreen-tab-current-screen-face nil :foreground "black" :background "yellow") + ;; (set-face-attribute 'elscreen-tab-other-screen-face nil :foreground "black" :background "disabledControlTextColor" :underline nil) + ;; ;; (global-unset-key (kbd)); M-TAB switch screen + ;; ;; (global-set-key (kbd "s-`") '(lambda () (interactive) (elscreen-goto 0))) + ;; ;; (dotimes (i 8) + ;; ;; (global-set-key (kbd (concat "s-" (number-to-string (+ i 1)))) + ;; ;; `(lambda () (interactive) (elscreen-goto ,(+ i 1))))) + ;; ;; (global-set-key (kbd "s-t") 'elscreen-create) + ;; ;; (global-set-key (kbd "s-n") 'elscreen-next) + ;; ;; (global-set-key (kbd "s-p") 'elscreen-previous) + ;; ) #+END_SRC * Dired @@ -1987,7 +1969,7 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files (define-key company-active-map [tab] #'company-complete-selection) (global-company-mode) ;; magig-commit is text-modeh - (setq company-global-modes '(not org-mode magit-status-mode text-mode eshell-mode))) + (setq company-global-modes '(not org-mode magit-status-mode text-mode eshell-mode gfm-mode markdown-mode))) (use-package company-statistics :ensure t @@ -2139,7 +2121,8 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi (with-eval-after-load "lispy" (define-key lispy-mode-map (kbd "M-o") nil) (define-key lispy-mode-map (kbd "g") 'special-lispy-goto-local) - (define-key lispy-mode-map (kbd "G") 'special-lispy-goto)) + (define-key lispy-mode-map (kbd "G") 'special-lispy-goto) + (define-key lispy-mode-map (kbd "M-m") 'back-to-indentation)) :config (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))) @@ -2924,14 +2907,14 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= (add-to-list 'projectile-globally-ignored-files "GTAGS") (projectile-global-mode t)) - (use-package persp-projectile - :ensure t - :config - (persp-mode) - :bind - ;; (:map projectile-mode-map - ;; ("s-t" . projectile-persp-switch-project)) - ) + ;; (use-package persp-projectile + ;; :ensure t + ;; :config + ;; (persp-mode) + ;; :bind + ;; ;; (:map projectile-mode-map + ;; ;; ("s-t" . projectile-persp-switch-project)) + ;; ) ;; change default-directory of scratch buffer to projectile-project-root (defun sd/project-switch-action () @@ -2991,7 +2974,7 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del (delete-other-windows))) (defhydra sd/hydra-window (:color red :columns nil) - "Window" + "C-o" ;; windows switch ("h" windmove-left nil :exit t) ("j" windmove-down nil :exit t) @@ -3008,37 +2991,38 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del (interactive) (split-window-right) (windmove-right)) - "vert" :exit t) + nil :exit t) ("x" (lambda () (interactive) (split-window-below) (windmove-down)) - "horz" :exit t) + nil :exit t) ;; buffer / windows switch - ("o" sd/toggle-max-windows "one" :exit t) - ("C-k" sd/delete-current-window "del" :exit t) + ("o" sd/toggle-max-windows nil :exit t) + ("C-k" sd/delete-current-window nil :exit t) ("C-d" (lambda () (interactive) (kill-buffer) (sd/delete-current-window)) - "kill" :exit t) + nil :exit t) ;; ace-window ;; ("'" other-window "other" :exit t) ;; ("a" ace-window "ace") - ("s" ace-swap-window "swap") - ("D" ace-delete-window "ace-one" :exit t) + ("s" ace-swap-window nil) + ("D" ace-delete-window nil :exit t) ;; ("i" ace-maximize-window "ace-one" :exit t) ;; Windows undo - redo - ("u" (progn (winner-undo) (setq this-command 'winner-undo)) "undo") - ("r" (progn (winner-redo) (setq this-command 'winner-redo)) "redo") + ("u" (progn (winner-undo) (setq this-command 'winner-undo)) nil) + ("r" (progn (winner-redo) (setq this-command 'winner-redo)) nil) ;; ibuffer, dired, eshell, bookmarks ;; ("C-i" other-window nil :exit t) ("C-b" ido-switch-buffer nil :exit t) ("C-f" projectile-find-file nil :exit t) - ("C-p" persp-switch :exit t) - ("C-t" projectile-persp-switch-project nil :exit t) + ("C-r" ivy-recentf nil :exit t) + ;; ("C-p" persp-switch nil :exit t) + ;; ("C-t" projectile-persp-switch-project nil :exit t) ;; other special buffers ("d" sd/project-or-dired-jump nil :exit t) @@ -3051,17 +3035,17 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del ;; ("p" paradox-list-packages nil :exit t) ;; quit - ("q" nil "cancel") - ("" nil) + ("q" nil nil) + ("" nil nil) ("C-h" windmove-left nil :exit t) ("C-j" windmove-down nil :exit t) - ("C-k" windmove-up :exit t) + ("C-k" windmove-up nil :exit t) ("C-l" windmove-right nil :exit t) ("C-;" nil nil :exit t) ("n" nil nil :exit t) ("[" nil nil :exit t) ("]" nil nil :exit t) - ("f" nil)) + ("f" nil nil)) (global-unset-key (kbd "C-o")) (global-set-key (kbd "C-o") 'sd/hydra-window/body) @@ -3506,7 +3490,31 @@ Refer [[https://github.com/fnwiya/dotfiles/blob/c9ca79f1b22c919d9f4c3a0f944ba828 (global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word) #+END_SRC +* Developing +** perspeen +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (el-get-bundle seudut/perspeen + :features perspeen + (setq perspeen-use-tab t) + (perspeen-mode)) + + ;; super-i to switch to ith workspace + + (defmacro sd/define-keys (map key func &rest args) + "A macro to define multi keys " + `(define-key ,map ,key (lambda () (interactive) (,func ,@args)))) + + (with-eval-after-load "perspeen" + (dotimes (ii 9) + (sd/define-keys perspeen-mode-map (kbd (concat "s-" (number-to-string (+ ii 1)))) + perspeen-goto-ws (+ ii 1))) + (define-key perspeen-mode-map (kbd "s-c") 'perspeen-create-ws) + (define-key perspeen-mode-map (kbd "s-n") 'perspeen-next-ws) + (define-key perspeen-mode-map (kbd "s-p") 'perspeen-previous-ws) + (define-key perspeen-mode-map (kbd "s-'") 'perspeen-last-ws) + (define-key perspeen-mode-map (kbd "s-t") 'perspeen-tab-create-tab)) +#+END_SRC * TODO todolist ** Rucket ** player video on iphone for @@ -3522,3 +3530,11 @@ search music on some music web site Use =display-graphic-p= instead of =window-system= [[info:elisp#Window%20Systems][Window Systems]] ** =Interactive= +** List operation +*** add a element to list +- ~add-to-list~ functions, append +- ~push~ macro +- ~(setcdr (last aa) (list element))~ +blog with modify list + +draw one line top of the windows