Here is a patch which bindskeys:

  C-c " a   orgtbl-ascii-plot(creates an ascii plot for the column where
the cursor is)
  C-c " g   org-plot/gnuplot  (nicely launches Gnuplot for all columns)

It also adds a sub-menu named "Plot" in the "Tbl" menu with those two
entries.

Have fun
Thierry


Le 07/10/2014 16:15, Nicolas Goaziou a écrit :
> Hello,
>
> Thierry Banel <tbanelweb...@free.fr> writes:
>
>> C-c "    (currently unused)
>> C-c |    (currently does weird things within a table)
> I'm fine with any of these, even though they may be shadowed by minor
> modes.
>
>
> Regards,
>

>From 41b262ca69636938bc894bc4b24d8de968e67c68 Mon Sep 17 00:00:00 2001
From: Thierry Banel <tbanelweb...@free.fr>
Date: Sat, 11 Oct 2014 15:59:17 +0200
Subject: [PATCH] Ascii and Gnuplot key-bindings

* org.el (org-mode-map): change key-binding
from C-c p to C-c " a
add C-c " g key-binding for Gnuplot
(org-tbl-menu): add sub-menu for plotting
featuring Gnuplot and ascii plot
* org-table.el (orgtbl-setup): add sub-menu
for plotting featuring Gnuplot and ascii plot
---
 lisp/org-table.el | 10 ++++++----
 lisp/org.el       | 14 ++++++++++----
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/lisp/org-table.el b/lisp/org-table.el
index 7607ead..0f2fda3 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -4276,8 +4276,7 @@ to execute outside of tables."
 	 ["Move Column Left" org-metaleft :active (org-at-table-p) :keys "M-<left>"]
 	 ["Move Column Right" org-metaright :active (org-at-table-p) :keys "M-<right>"]
 	 ["Delete Column" org-shiftmetaleft :active (org-at-table-p) :keys "M-S-<left>"]
-	 ["Insert Column" org-shiftmetaright :active (org-at-table-p) :keys "M-S-<right>"]
-	 ["Ascii plot" orgtbl-ascii-plot :active (org-at-table-p) :keys "C-c p"])
+	 ["Insert Column" org-shiftmetaright :active (org-at-table-p) :keys "M-S-<right>"])
 	("Row"
 	 ["Move Row Up" org-metaup :active (org-at-table-p) :keys "M-<up>"]
 	 ["Move Row Down" org-metadown :active (org-at-table-p) :keys "M-<down>"]
@@ -4315,7 +4314,10 @@ to execute outside of tables."
 	 org-table-toggle-coordinate-overlays :active (org-at-table-p)
 	 :keys "C-c }"
 	 :style toggle :selected org-table-overlay-coordinates]
-	))
+	"--"
+	("Plot"
+	 ["Ascii plot" orgtbl-ascii-plot :active (org-at-table-p) :keys "C-c \" a"]
+	 ["Gnuplot" org-plot/gnuplot :active (org-at-table-p) :keys "C-c \" g"])))
     t))
 
 (defun orgtbl-ctrl-c-ctrl-c (arg)
@@ -5052,7 +5054,7 @@ supported.  It is also possible to use the following ones:
 
 ;; Put the cursor in a column containing numerical values
 ;; of an Org-Mode table,
-;; type C-c p
+;; type C-c " a
 ;; A new column is added with a bar plot.
 ;; When the table is refreshed (C-u C-c *),
 ;; the plot is updated to reflect the new values.
diff --git a/lisp/org.el b/lisp/org.el
index a6d8d1b..724fa62 100755
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -163,6 +163,8 @@ Stars are put in group 1 and the trimmed body in group 2.")
 (declare-function org-table-paste-rectangle "org-table" ())
 (declare-function org-table-maybe-eval-formula "org-table" ())
 (declare-function org-table-maybe-recalculate-line "org-table" ())
+(declare-function orgtbl-ascii-plot "org-table" (&optional ask))
+(declare-function org-plot/gnuplot "org-plot" (&optional params))
 
 (declare-function org-element-at-point "org-element" ())
 (declare-function org-element-cache-reset "org-element" (&optional all))
@@ -19478,7 +19480,8 @@ boundaries."
 (org-defkey org-mode-map "\C-c="    'org-table-eval-formula)
 (org-defkey org-mode-map "\C-c'"    'org-edit-special)
 (org-defkey org-mode-map "\C-c`"    'org-table-edit-field)
-(org-defkey org-mode-map "\C-cp"    'orgtbl-ascii-plot)
+(org-defkey org-mode-map "\C-c\"a"  'orgtbl-ascii-plot)
+(org-defkey org-mode-map "\C-c\"g"  'org-plot/gnuplot)
 (org-defkey org-mode-map "\C-c|"    'org-table-create-or-convert-from-region)
 (org-defkey org-mode-map [(control ?#)] 'org-table-rotate-recalc-marks)
 (org-defkey org-mode-map "\C-c~"    'org-table-create-with-table.el)
@@ -21161,8 +21164,7 @@ on context.  See the individual commands for more information."
      ["Move Column Left" org-metaleft (org-at-table-p)]
      ["Move Column Right" org-metaright (org-at-table-p)]
      ["Delete Column" org-shiftmetaleft (org-at-table-p)]
-     ["Insert Column" org-shiftmetaright (org-at-table-p)]
-     ["Ascii plot" orgtbl-ascii-plot (org-at-table-p)])
+     ["Insert Column" org-shiftmetaright (org-at-table-p)])
     ("Row"
      ["Move Row Up" org-metaup (org-at-table-p)]
      ["Move Row Down" org-metadown (org-at-table-p)]
@@ -21205,7 +21207,11 @@ on context.  See the individual commands for more information."
     ["Import from File" org-table-import (not (org-at-table-p))]
     ["Export to File" org-table-export (org-at-table-p)]
     "--"
-    ["Create/Convert from/to table.el" org-table-create-with-table.el t]))
+    ["Create/Convert from/to table.el" org-table-create-with-table.el t]
+    "--"
+    ("Plot"
+     ["Ascii plot" orgtbl-ascii-plot :active (org-at-table-p) :keys "C-c \" a"]
+     ["Gnuplot" org-plot/gnuplot :active (org-at-table-p) :keys "C-c \" g"])))
 
 (easy-menu-define org-org-menu org-mode-map "Org menu"
   '("Org"
-- 
1.9.1

Reply via email to