X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=2322cf82705ce87d739b00075d92e446f79fdff1;hb=513acc2a297feb46122bc828eb7fc3da4013548b;hp=42b760eb5ea88ae884d759301109c7e282f20042;hpb=55d69a257ff8abd865eda6298a8c249946f2627c;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 42b760e..2322cf8 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -256,6 +256,8 @@ Loading theme should be after all required loaded, refere [[https://github.com/j #+BEGIN_SRC emacs-lisp :tangle yes :results silent (setq vc-follow-symlinks t) + (use-package molokai-theme + :ensure t) (use-package color-theme :ensure t @@ -572,15 +574,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 @@ -671,28 +675,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 @@ -740,8 +722,8 @@ Always indents header, and hide header leading starts so that no need type =#+ST :features ob-racket) ;; Lua support - (use-package ob-lua - :ensure t) + ;(use-package ob-lua + ; :ensure t) ;; use current window for org source buffer editting @@ -764,7 +746,7 @@ Always indents header, and hide header leading starts so that no need type =#+ST (latex . t) (java . t) (ruby . t) - (lua . t) + ; (lua . t) (lisp . t) (scheme . t) (racket . t) @@ -838,7 +820,9 @@ cause we cannot input =[= and =]=, so here I unset this mappings. And redifined (use-package worf :ensure t :commands worf-mode - :init (add-hook 'org-mode-hook 'worf-mode)) + :init + (require 'ivy) + (add-hook 'org-mode-hook 'worf-mode)) #+END_SRC ** Get Things Done @@ -1643,6 +1627,23 @@ When see function by =C-h f=, and visit the source code, I would like the buffer (add-hook 'help-mode-hook 'sd/help-mode-hook) #+END_SRC +Wiki [[http://stackoverflow.com/questions/3480173/show-keys-in-emacs-keymap-value][show-keys-in-emacs-keymap-value]], Helpplus mode can show keymap as human-readable, use ~describe-keymap~ or =C-h M-k= + +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (el-get-bundle help-macro+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-macro+.el" + :features help-macro+) + (el-get-bundle help+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help+.el" + :features help+) + (el-get-bundle help-fns+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-fns+.el" + :features help-fns+) + (el-get-bundle help-mode+ + :url "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/master/help-mode+.el" + :features help-mode+) +#+END_SRC + ** goto-last-change #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package goto-last-change @@ -1709,17 +1710,18 @@ Fix one elscreen issue when startup emacs https://github.com/knu/elscreen/issues :init (setq elscreen-tab-display-control nil) :config - (elscreen-start) + ;; (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)) + ;; (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 @@ -1958,6 +1960,7 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files :config (define-key company-active-map (kbd "M-n") nil) (define-key company-active-map (kbd "M-p") nil) + (define-key company-active-map (kbd "SPC") #'sd/company-stop-input-space) (define-key company-active-map (kbd "C-n") #'company-select-next) (define-key company-active-map (kbd "C-p") #'company-select-previous) ;; should map both (kbd "TAB") and [tab],https://github.com/company-mode/company-mode/issues/75 @@ -1965,12 +1968,18 @@ 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 :config (company-statistics-mode)) + + (defun sd/company-stop-input-space () + "Stop completing and input a space,a workaround of a semantic issue `https://github.com/company-mode/company-mode/issues/614'" + (interactive) + (company-abort) + (insert " ")) #+END_SRC ** YASnippet @@ -2108,11 +2117,15 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi (use-package lispy :ensure t :init - (eval-after-load "lispy" - `(progn - (define-key lispy-mode-map (kbd "M-o") nil))) + (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 "M-m") 'back-to-indentation)) :config (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))) + + #+END_SRC ** Perl @@ -3006,6 +3019,7 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del ;; ("C-i" other-window nil :exit t) ("C-b" ido-switch-buffer nil :exit t) ("C-f" projectile-find-file nil :exit t) + ("C-r" ivy-recentf nil :exit t) ("C-p" persp-switch :exit t) ("C-t" projectile-persp-switch-project nil :exit t) @@ -3475,7 +3489,25 @@ 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 + ;; (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)))) +#+END_SRC * TODO todolist ** Rucket ** player video on iphone for