emacs - correct M-s mapping, perldoc alias
[dotfiles.git] / emacs.d / config.org
index 94d6e11..2025281 100644 (file)
@@ -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 )
@@ -1865,14 +1867,11 @@ bindings in =lispy-mode-map= after loaded. see [[http://stackoverflow.com/questi
 #+END_SRC
 
 *** Perl
-
 [[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)
@@ -1886,10 +1885,7 @@ 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
@@ -1934,7 +1930,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 +1951,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 +1990,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 
@@ -2253,6 +2257,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