emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* feature proposal. Kill and yank columns
@ 2016-04-28  9:41 Uwe Brauer
  2016-04-28 10:29 ` Marco Wahl
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Uwe Brauer @ 2016-04-28  9:41 UTC (permalink / raw)
  To: emacs-orgmode

Hi

I know that I can delete columns but I miss a function which would
*kill* a column,  put it in the some ring (or register) and paste it.

I do this my marking the content of a column and use kill-rectangle and
yank-rectangle but I find such a solution which needs the mark,
cumbersome.

I goggled around and found for example proposals as in

https://stackoverflow.com/questions/22002374/how-to-select-a-column-of-a-table-in-emacs-org-mode

Which is basically the same I do. 

Or in

http://orgmode.org/worg/org-hacks.html#field-coordinates-in-formulas

Which seems complicated.

It also seems a subject which comes up regularly. Is this so difficult
to implement?

Thanks and regards

Uwe Brauer 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28  9:41 feature proposal. Kill and yank columns Uwe Brauer
@ 2016-04-28 10:29 ` Marco Wahl
  2016-04-28 10:48   ` Uwe Brauer
  2016-04-28 10:34 ` Stig Brautaset
  2016-04-28 20:13 ` Nicolas Goaziou
  2 siblings, 1 reply; 7+ messages in thread
From: Marco Wahl @ 2016-04-28 10:29 UTC (permalink / raw)
  To: emacs-orgmode

Hi!

> I know that I can delete columns but I miss a function which would
> *kill* a column,  put it in the some ring (or register) and paste it.
>
> I do this my marking the content of a column and use kill-rectangle and
> yank-rectangle but I find such a solution which needs the mark,
> cumbersome.

> It also seems a subject which comes up regularly. Is this so difficult
> to implement?

Some time ago I wrote this function:

(defun mw-org-table-mark-column ()
  "Mark the column containing point.
This works only in org tables.

For tables with horizontal lines this function can fail."
  (interactive)
  (unless (org-at-table-p) (user-error "Not at a table"))
  (org-table-find-dataline)
  (org-table-check-inside-data-field)
  (let* ((col (org-table-current-column))
         (beg (org-table-begin))
	 (end (org-table-end)))
    (goto-char beg)
    (org-table-goto-column col)
    (re-search-backward "|" nil t)
    (push-mark)
    (goto-char (1- end))
    (org-table-goto-column (1+ col))
    (re-search-backward "|" nil t)
    (exchange-point-and-mark)))

If you do M-x mw-org-table-mark-column followed by C-x SPACE in a
table-cell you (hopefully) the column gets marked.

This might be a start.


HTH,
-- 
Marco Wahl
GPG: 0x49010A040A3AE6F2

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28  9:41 feature proposal. Kill and yank columns Uwe Brauer
  2016-04-28 10:29 ` Marco Wahl
@ 2016-04-28 10:34 ` Stig Brautaset
  2016-04-28 10:47   ` Uwe Brauer
  2016-04-28 20:13 ` Nicolas Goaziou
  2 siblings, 1 reply; 7+ messages in thread
From: Stig Brautaset @ 2016-04-28 10:34 UTC (permalink / raw)
  To: emacs-orgmode

Uwe Brauer <oub@mat.ucm.es> writes:

> Hi
>
> I know that I can delete columns but I miss a function which would
> *kill* a column,  put it in the some ring (or register) and paste it.

Does `org-table-move-column' help, or do you mean to move the column to
a different table?

Stig

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28 10:34 ` Stig Brautaset
@ 2016-04-28 10:47   ` Uwe Brauer
  0 siblings, 0 replies; 7+ messages in thread
From: Uwe Brauer @ 2016-04-28 10:47 UTC (permalink / raw)
  To: emacs-orgmode

>>> "Stig" == Stig Brautaset <stig@brautaset.org> writes:

   > Uwe Brauer <oub@mat.ucm.es> writes:
   >> Hi
   >> 
   >> I know that I can delete columns but I miss a function which would
   >> *kill* a column,  put it in the some ring (or register) and paste it.

   > Does `org-table-move-column' help,

no

   > or do you mean to move the column to a different table?


yes

Uwe 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28 10:29 ` Marco Wahl
@ 2016-04-28 10:48   ` Uwe Brauer
  0 siblings, 0 replies; 7+ messages in thread
From: Uwe Brauer @ 2016-04-28 10:48 UTC (permalink / raw)
  To: emacs-orgmode


   > Hi!


   > Some time ago I wrote this function:

   > (defun mw-org-table-mark-column ()
   >   "Mark the column containing point.
   > This works only in org tables.

   > For tables with horizontal lines this function can fail."
   >   (interactive)
   >   (unless (org-at-table-p) (user-error "Not at a table"))
   >   (org-table-find-dataline)
   >   (org-table-check-inside-data-field)
   >   (let* ((col (org-table-current-column))
   >          (beg (org-table-begin))
   > 	 (end (org-table-end)))
   >     (goto-char beg)
   >     (org-table-goto-column col)
   >     (re-search-backward "|" nil t)
   >     (push-mark)
   >     (goto-char (1- end))
   >     (org-table-goto-column (1+ col))
   >     (re-search-backward "|" nil t)
   >     (exchange-point-and-mark)))

   > If you do M-x mw-org-table-mark-column followed by C-x SPACE in a
   > table-cell you (hopefully) the column gets marked.

   > This might be a start.

That is cool, thanks, unfortunately some of my tables contain horizontal
lines, but this is not really very essential for me.

   > HTH,

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28  9:41 feature proposal. Kill and yank columns Uwe Brauer
  2016-04-28 10:29 ` Marco Wahl
  2016-04-28 10:34 ` Stig Brautaset
@ 2016-04-28 20:13 ` Nicolas Goaziou
  2016-04-29  7:40   ` Uwe Brauer
  2 siblings, 1 reply; 7+ messages in thread
From: Nicolas Goaziou @ 2016-04-28 20:13 UTC (permalink / raw)
  To: Uwe Brauer; +Cc: emacs-orgmode

Hello,

Uwe Brauer <oub@mat.ucm.es> writes:

> I know that I can delete columns but I miss a function which would
> *kill* a column,  put it in the some ring (or register) and paste it.
>
> I do this my marking the content of a column and use kill-rectangle and
> yank-rectangle but I find such a solution which needs the mark,
> cumbersome.
>
> I goggled around and found for example proposals as in
>
> https://stackoverflow.com/questions/22002374/how-to-select-a-column-of-a-table-in-emacs-org-mode
>
> Which is basically the same I do. 
>
> Or in
>
> http://orgmode.org/worg/org-hacks.html#field-coordinates-in-formulas
>
> Which seems complicated.
>
> It also seems a subject which comes up regularly. Is this so difficult
> to implement?

There are `org-table-cut-region', `org-table-copy-region' and
`org-table-paste-rectangle'. In any case, you'll need the mark.


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: feature proposal. Kill and yank columns
  2016-04-28 20:13 ` Nicolas Goaziou
@ 2016-04-29  7:40   ` Uwe Brauer
  0 siblings, 0 replies; 7+ messages in thread
From: Uwe Brauer @ 2016-04-29  7:40 UTC (permalink / raw)
  To: emacs-orgmode


   > Hello,
   > Uwe Brauer <oub@mat.ucm.es> writes:


   > There are `org-table-cut-region', `org-table-copy-region' and
   > `org-table-paste-rectangle'. In any case, you'll need the mark.

If I need to mark the region in question, I could stick with
kill-rectangle and friends. The point is not to mark the column.

org-table-delete-column does not need the mark, so my hope is that this
code could be somehow  generalized. I played a bit around with that
function but so far no success.

regards

Uwe Brauer 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-04-29  8:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-28  9:41 feature proposal. Kill and yank columns Uwe Brauer
2016-04-28 10:29 ` Marco Wahl
2016-04-28 10:48   ` Uwe Brauer
2016-04-28 10:34 ` Stig Brautaset
2016-04-28 10:47   ` Uwe Brauer
2016-04-28 20:13 ` Nicolas Goaziou
2016-04-29  7:40   ` Uwe Brauer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).