X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=8bb6d51e8fb8236ab14d04d19b69e8c981b664bf;hb=e04c0fcc7bd57fb36ced8539e56db4ab652ff468;hp=5b2410857acbbe155b5f00dc782170977e58d5f6;hpb=b19729eca7c8966d69f4d91da52e1c72bcd818a7;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 5b24108..8bb6d51 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -47,6 +47,9 @@ Set the emacs load path (show-paren-mode 1) ;; don't backupf (setq make-backup-files nil) + + ;;supress the redefined warning at startup + (setq ad-redefinition-action 'accept) #+END_SRC *** Custom file @@ -150,6 +153,7 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. ;; don't want high light current line in eshell/term mode (add-hook 'prog-mode-hook 'hl-line-mode) (add-hook 'text-mode-hook 'hl-line-mode) + (add-hook 'dired-mode-hook 'hl-line-mode) #+END_SRC ** Smart Comments @@ -165,39 +169,29 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]]. #+END_SRC ** Font Setting - syntax highlighting - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (global-font-lock-mode 1) - #+END_SRC [[https://github.com/i-tu/Hasklig][Hasklig]] and Source Code Pro, defined fonts family - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (if window-system (defvar sd/fixed-font-family (cond ((x-list-fonts "Hasklig") "Hasklig") - ((x-list-fonts "Source Code Pro") "Source Code Pro:weight:light") + ((x-list-fonts "Source Code Pro") "Source Code Pro:weight") ((x-list-fonts "Anonymous Pro") "Anonymous Pro") ((x-list-fonts "M+ 1mn") "M+ 1mn")) "The fixed width font based on what is installed, `nil' if not defined.")) - #+END_SRC Setting the fonts - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (if window-system (when sd/fixed-font-family (set-frame-font sd/fixed-font-family) (set-face-attribute 'default nil :font sd/fixed-font-family :height 130) (set-face-font 'default sd/fixed-font-family))) - #+END_SRC ** Color Theme @@ -205,7 +199,6 @@ Setting the fonts Loading theme should be after all required loaded, refere [[https://github.com/jwiegley/use-package][:defer]] in =use-package= #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (setq vc-follow-symlinks t) (use-package color-theme @@ -215,7 +208,9 @@ Loading theme should be after all required loaded, refere [[https://github.com/j :ensure t :no-require t :config - (load-theme 'sanityinc-tomorrow-bright t))) + ;; (load-theme 'sanityinc-tomorrow-bright t) + (load-theme 'molokai t) + )) ;(eval-after-load 'color-theme ; (load-theme 'sanityinc-tomorrow-bright t)) @@ -342,6 +337,11 @@ Enable rainbow mode in emacs lisp mode #+END_SRC +** cusor color +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (set-cursor-color 'red) +#+END_SRC + * Mode-line ** clean mode line clean mode line, Refer to [[https://www.masteringemacs.org/article/hiding-replacing-modeline-strings][Marstering Emacs]], some greek character see [[http://xahlee.info/math/math_unicode_greek.html][math_unicode_greek]] @@ -591,7 +591,7 @@ Use [[https://github.com/DarwinAwardWinner/ido-ubiquitous][ido-ubiquitous]] for (use-package ido-exit-target :ensure t :init - (mapcar '(lambda (map) + (mapcar #'(lambda (map) (define-key map (kbd "C-j") #'ido-exit-target-other-window) (define-key map (kbd "C-k") #'ido-exit-target-split-window-below)) (list ido-buffer-completion-map @@ -1208,9 +1208,10 @@ Fix the font size of line number I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like the =set relativenumber= on =vim= #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package linum-relative :ensure t + :init + (setq linum-relative-current-symbol "") :config (defun linum-new-mode () "If line numbers aren't displayed, then display them. @@ -1225,7 +1226,6 @@ I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like ;; auto enable linum-new-mode in programming modes (add-hook 'prog-mode-hook 'linum-relative-mode) - #+END_SRC ** Save File Position @@ -1246,7 +1246,7 @@ define =multi-term= mapping to disable some mapping which is used globally. :ensure t) (defun sd/term-mode-mapping () - (mapcar (lambda (map) + (mapcar #'(lambda (map) (define-key map (kbd "C-o") nil) (define-key map (kbd "C-g") nil)) (list term-mode-map @@ -1471,6 +1471,28 @@ brew install the-silver-searcher (add-hook 'text-mode-hook 'table-recognize) #+END_SRC +** url-download +Refer [[http://stackoverflow.com/questions/4448055/download-a-file-with-emacs-lisp][download-a-file-with-emacs-lisp]] +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (defun sd/download-file (&optional url download-dir download-name) + (interactive) + (let ((url (or url + (read-string "Enter download URL: "))) + (download-dir (or (read-string "Save to (~/Downloads): ") "~/Downloads"))) + (let ((download-buffer (url-retrieve-synchronously url))) + (save-excursion + (set-buffer download-buffer) + ;; we may have to trim the http response + (goto-char (point-min)) + (re-search-forward "^$" nil 'move) + (forward-char) + (delete-region (point-min) (point)) + (write-file (concat (or download-dir + "~/Downloads/") + (or download-name + (car (last (split-string url "/" t)))))))))) +#+END_SRC + * Dired ** Dired bindings =C-o= is defined as a global key for window operation, here unset it in dired mode @@ -1510,7 +1532,8 @@ brew install the-silver-searcher (define-key dired-mode-map (kbd "TAB") 'diredp-next-subdir) (define-key dired-mode-map (kbd "K") 'diredp-prev-subdir) (define-key dired-mode-map (kbd "O") 'dired-display-file) - (define-key dired-mode-map (kbd "I") 'other-window)) + (define-key dired-mode-map (kbd "I") 'other-window) + (define-key dired-mode-map (kbd "o") 'other-window)) (use-package dired :config @@ -1681,7 +1704,8 @@ here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files ;; should map both (kbd "TAB") and [tab],https://github.com/company-mode/company-mode/issues/75 (define-key company-active-map (kbd "TAB") #'company-complete-selection) (define-key company-active-map [tab] #'company-complete-selection) - (global-company-mode)) + (global-company-mode) + (setq company-global-modes '(not org-mode))) (use-package company-statistics :ensure t @@ -1916,7 +1940,7 @@ C/C++ ide tools ;; "C-M-j" is my global binding for avy goto line below ;; disable it in c mode - (mapcar '(lambda (map) + (mapcar #'(lambda (map) (define-key map (kbd "C-M-j") nil)) (list c-mode-map c++-mode-map @@ -2054,6 +2078,42 @@ irony-company :ensure t) #+END_SRC +** Scheme +Install =guile=, =guile= is an implementation of =Scheme= programming language. +#+BEGIN_SRC sh + brew install guile +#+END_SRC + +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (setq geiser-scheme-implementation 'guile) +#+END_SRC + +#+BEGIN_SRC scheme + (define a "3") + a +#+END_SRC + +#+RESULTS: +: 3 + +** Racket +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package racket-mode + :ensure t + :config + (define-key racket-mode-map (kbd "s-r") 'racket-run) + (add-to-list 'racket-mode-hook (lambda () (lispy-mode 1)))) + + ;; set racket path + (setenv "PATH" (concat (getenv "PATH") + ":" "/Applications/Racket v6.6/bin")) + (setenv "MANPATH" (concat (getenv "MANPATH") + ":" "/Applications/Racket v6.6/man")) + (setq exec-path (append exec-path '("/Applications/Racket v6.6/bin"))) + + (add-to-list 'auto-mode-alist '("\\.rkt\\'" . racket-mode)) +#+END_SRC + * Compile Set the environments vairables in compilation mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2097,7 +2157,7 @@ Set the environments vairables in compilation mode (file-name-nondirectory (buffer-file-name))) ".hpp\"" \n \n "using namespace std;" \n \n - "int main ()" + "int main (int argc, char *argv[])" "\n{" \n > _ \n "return 0;" @@ -2116,7 +2176,7 @@ Set the environments vairables in compilation mode (file-name-sans-extension (file-name-nondirectory (buffer-file-name))) ".h\"" \n \n - "int main ()\n" + "int main (int argc, char *argv[])\n" "{" \n > _ \n "return 0;\n"