X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=9406601d090dd39968444b506cb8b3cbcc5b788d;hb=afa02e113c2b6ccfda472665e0e739474135a85a;hp=6751821519a7c953f5e992611bd8e67f1fb4f9e6;hpb=8685a018c31c7a59e7ac54e5499ccd6907808d16;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index 6751821..9406601 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -903,7 +903,7 @@ use the prefix =M-s= for searching in buffers ;; ("\M-w" . save-buffer) ("e" . revert-buffer) ("s" . isearch-forward-regexp) - ("M-s" . isearch-forward-regexp) + ("\M-s" . isearch-forward-regexp) ("r" . isearch-backward-regexp) ("." . isearch-forward-symbol-at-point) ("o" . occur) @@ -970,7 +970,8 @@ Always indents header, and hide header leading starts so that no need type =#+ST (scheme . t) (sh . t) (sqlite . t) - (js . t))) + (js . t) + (gnuplot . t))) ;; use current window for org source buffer editting (setq org-src-window-setup 'current-window ) @@ -1830,14 +1831,25 @@ Dired+ (define-key dired-mode-map (kbd "g") 'dired-goto-file)) #+END_SRC -* Programming - -** Languages +* Completion +company mode and company-statistics +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package company + :ensure t + :diminish company-mode + :init (setq company-idle-delay 0.1) + :config + (global-company-mode)) -*** Emacs Lisp + (use-package company-statistics + :ensure t + :config + (company-statistics-mode)) +#+END_SRC +* Programming Language +** Emacs Lisp #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package color-identifiers-mode :ensure t :init @@ -1846,14 +1858,10 @@ Dired+ :diminish color-identifiers-mode) (global-prettify-symbols-mode t) - #+END_SRC -**** Lispy Mode - In Lisp Mode, =M-o= is defined, but I use this for global hydra window. So here disable this key bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questions/298048/how-to-handle-conflicting-keybindings][here]] - #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package lispy :ensure t @@ -1865,15 +1873,14 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))) #+END_SRC -*** Perl - +** Perl +*** CPerl mode [[https://www.emacswiki.org/emacs/CPerlMode][CPerl mode]] has more features than =PerlMode= for perl programming. Alias this to =CPerlMode= - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (defalias 'perl-mode 'cperl-mode) - ;(setq cperl-hairy t) ;; Turns on most of the CPerlMode options + ;; (setq cperl-hairy t) + ;; Turns on most of the CPerlMode options (setq cperl-auto-newline t) (setq cperl-highlight-variables-indiscriminately t) ;(setq cperl-indent-level 4) @@ -1887,21 +1894,28 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi '(lambda () (cperl-set-style "C++"))) - ;(require 'template) - ;(template-initialize) - ;(require 'perlnow) - + (defalias 'perldoc 'cperl-perldoc) #+END_SRC -- auto insert -- run script +*** Perl template +Refer [[https://www.emacswiki.org/emacs/AutoInsertMode][AutoInsertMode]] Wiki +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (eval-after-load 'autoinsert + '(define-auto-insert '("\\.pl\\'" . "Perl skeleton") + '( + "Empty" + "#!/usr/bin/perl -w" \n + \n + "use strict;" > \n \n + > _ + ))) +#+END_SRC +*** Run Perl Change the compile-command to set the default command run when call =compile= Mapping =s-r= (on Mac, it's =Command + R= to run the script. Here =current-prefix-arg= is set to call =compilation= interactively. - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (defun my-perl-hook () (progn (setq-local compilation-read-command nil) @@ -1910,26 +1924,21 @@ to call =compilation= interactively. (if buffer-file-name (shell-quote-argument buffer-file-name)))) (local-set-key (kbd "s-r") - (lambda () - (interactive) - ; (setq current-prefix-arg '(4)) ; C-u - (call-interactively 'compile))))) + (lambda () + (interactive) + ; (setq current-prefix-arg '(4)) ; C-u + (call-interactively 'compile))))) (add-hook 'cperl-mode-hook 'my-perl-hook) - - #+END_SRC -*** C & C++ - +** C & C++ #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (setq c-default-style "stroustrup" c-basic-offset 4) - #+END_SRC -** Compile +* Compile Set the environments vairables in compilation mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package compile @@ -1948,14 +1957,14 @@ Set the environments vairables in compilation mode (define-key compilation-mode-map (kbd "r") #'recompile)) #+END_SRC -** Auto-Insert -*** Enable auto-insert mode +* Auto-Insert +** Enable auto-insert mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent (auto-insert-mode t) (setq auto-insert-query nil) #+END_SRC -*** C++ Auto Insert +** C++ Auto Insert #+BEGIN_SRC emacs-lisp :tangle yes :results silent (eval-after-load 'autoinsert '(define-auto-insert '("\\.cpp\\'" . "C++ skeleton") @@ -1997,21 +2006,7 @@ Set the environments vairables in compilation mode ))) #+END_SRC -*** Perl Auto Insert -Refer [[https://www.emacswiki.org/emacs/AutoInsertMode][AutoInsertMode]] Wiki -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - (eval-after-load 'autoinsert - '(define-auto-insert '("\\.pl\\'" . "Perl skeleton") - '( - "Empty" - "#!/usr/bin/perl -w" \n - \n - "use strict;" > \n \n - > _ - ))) -#+END_SRC - -*** Python template +** Python template #+BEGIN_SRC emacs-lisp :tangle yes :results silent (eval-after-load 'autoinsert '(define-auto-insert '("\\.\\(py\\)\\'" . "Python skeleton") @@ -2022,7 +2017,7 @@ Refer [[https://www.emacswiki.org/emacs/AutoInsertMode][AutoInsertMode]] Wiki ))) #+END_SRC -*** Elisp +** Elisp Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but replace =completing-read= as =completing-read-ido-ubiquitous= to fix the edge case of that =ido= cannot handle. #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2079,7 +2074,7 @@ Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but repl \;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n"))) #+END_SRC -*** Org file template +** Org file template #+BEGIN_SRC emacs-lisp :tangle yes :results silent (eval-after-load 'autoinsert '(define-auto-insert '("\\.\\(org\\)\\'" . "Org-mode skeleton") @@ -2093,32 +2088,6 @@ Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but repl > _))) #+END_SRC -** Completion - -company mode - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (use-package company - :ensure t - :diminish company-mode - :init (setq company-idle-delay 0.1) - :config - (global-company-mode)) - -#+END_SRC - -[[https://github.com/company-mode/company-statistics][company-statistics]] - -#+BEGIN_SRC emacs-lisp :tangle yes :results silent - - (use-package company-statistics - :ensure t - :config - (company-statistics-mode)) - -#+END_SRC - * Markdown mode #+BEGIN_SRC emacs-lisp :tangle yes :results silent (use-package markdown-mode @@ -2262,6 +2231,44 @@ See [[https://www.emacswiki.org/emacs/GnusWindowLayout][GnusWindowLayout]] ;; (gnus-group-select-group "INBOX"))) #+END_SRC +* Gnu Plot +To fix some issue that =toolbar-make-button-list= is void, see the [[https://github.com/bruceravel/gnuplot-mode/issues/31][issue]], here I set some variable as =nil= +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (use-package gnuplot + :ensure + :init + (setq gnuplot-help-xpm nil) + (setq gnuplot-line-xpm nil) + (setq gnuplot-region-xpm nil) + (setq gnuplot-buffer-xpm nil) + (setq gnuplot-doc-xpm nil)) +#+END_SRC + +Use =gnuplot= on =Org-mode= file, see [[http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-gnuplot.html][ob-doc-gnuplot]] +#+BEGIN_SRC gnuplot :exports code :file ./temp/file.png + reset + + set title "Putting it All Together" + + set xlabel "X" + set xrange [-8:8] + set xtics -8,2,8 + + + set ylabel "Y" + set yrange [-20:70] + set ytics -20,10,70 + + f(x) = x**2 + g(x) = x**3 + h(x) = 10*sqrt(abs(x)) + + plot f(x) w lp lw 1, g(x) w p lw 2, h(x) w l lw 3 +#+END_SRC + +#+RESULTS: +[[file:./temp/file.png]] + * Blog #+BEGIN_SRC emacs-lisp :tangle yes :results silent @@ -2272,5 +2279,16 @@ See [[https://www.emacswiki.org/emacs/GnusWindowLayout][GnusWindowLayout]] - vision - mission * TODO Convert ASCII to key -map =function-key-map= [[http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm][ascii_ctrl]] +** map =function-key-map= [[http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm][ascii_ctrl]] new file =C-x C-f C-f= + +** write color syntax for =Man-mode= + +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (font-lock-add-keywords 'perl-mode '(("\\(|\\w+?\\(,\\w+?\\)?|\\)" 1 'py-builtins-face))) + + (font-lock-add-keywords + 'cperl-mode + '(("\\(say\\)" . font-lock-constant-face))) +#+END_SRC +