X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=32f376acc7394bc94bcbd5c31c4e40fa16000064;hb=206558f6070d18779c45de343e7028b8ff02e4f7;hp=adeba50c56491994b5224d091af289aa3d263862;hpb=f4cc586ee684067339ae93949272ed5c01e7e83b;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index adeba50..32f376a 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -903,6 +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) ("r" . isearch-backward-regexp) ("." . isearch-forward-symbol-at-point) ("o" . occur) @@ -969,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 ) @@ -1934,7 +1936,10 @@ Set the environments vairables in compilation mode (use-package compile :commands compile :config - (setq compilation-environment (cons "LC_ALL=C" compilation-environment))) + (setq compilation-environment (cons "LC_ALL=C" compilation-environment)) + (setq compilation-auto-jump-to-first-error t) + (setq compilation-auto-jump-to-next t) + (setq compilation-scroll-output 'first-error)) ;; super-r to compile (with-eval-after-load "compile" @@ -1952,9 +1957,7 @@ Set the environments vairables in compilation mode #+END_SRC *** C++ Auto Insert - #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (eval-after-load 'autoinsert '(define-auto-insert '("\\.cpp\\'" . "C++ skeleton") '( @@ -1993,24 +1996,31 @@ Set the environments vairables in compilation mode "return 1;\n" "}" > \n ))) - #+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") '( - "Description: " + "Empty" "#!/usr/bin/perl -w" \n \n - "use strict;" \n \n + "use strict;" > \n \n + > _ ))) +#+END_SRC +*** Python template +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (eval-after-load 'autoinsert + '(define-auto-insert '("\\.\\(py\\)\\'" . "Python skeleton") + '( + "Empty" + "#import os,sys" \n + \n \n + ))) #+END_SRC *** Elisp @@ -2024,9 +2034,10 @@ Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but repl ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str (make-string (max 2 (- 80 (current-column) 27)) ?\s) "-*- lexical-binding: t; -*-" '(setq lexical-binding t) - " + "\n ;; Copyright (C) " (format-time-string "%Y") " " (getenv "ORGANIZATION") | (progn user-full-name) " + ;; Author: " (user-full-name) '(if (search-backward "&" (line-beginning-position) t) (replace-match (capitalize (user-login-name)) t t)) @@ -2042,25 +2053,47 @@ Emacs lisp auto-insert, based on the default module in =autoinsert.el=, but repl ((let ((minibuffer-help-form v2)) (completing-read-ido-ubiquitous "Keyword, C-h: " v1 nil t)) str ", ") & -2 " + \;; This program is free software; you can redistribute it and/or modify \;; it under the terms of the GNU General Public License as published by \;; the Free Software Foundation, either version 3 of the License, or \;; (at your option) any later version. + \;; This program is distributed in the hope that it will be useful, \;; but WITHOUT ANY WARRANTY; without even the implied warranty of \;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \;; GNU General Public License for more details. + \;; You should have received a copy of the GNU General Public License \;; along with this program. If not, see . + \;;; Commentary: + \;; " _ " + \;;; Code: + + \(provide '" (file-name-base) ") \;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n"))) #+END_SRC +*** Org file template +#+BEGIN_SRC emacs-lisp :tangle yes :results silent + (eval-after-load 'autoinsert + '(define-auto-insert '("\\.\\(org\\)\\'" . "Org-mode skeleton") + '( + "title: " + "#+TITLE: " str (make-string 30 ?\s) > \n + "#+AUTHOR: Peng Li\n" + "#+EMAIL: seudut@gmail.com\n" + "#+DATE: " (shell-command-to-string "echo -n $(date +%Y-%m-%d)") > \n + > \n + > _))) +#+END_SRC + ** Completion company mode @@ -2230,6 +2263,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