[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how to copy a column of a table (with content)
From: |
Marco Wahl |
Subject: |
Re: how to copy a column of a table (with content) |
Date: |
Thu, 20 Jan 2022 11:28:13 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Uwe Brauer <oub@mat.ucm.es> writes:
> I sometime have to deal with table that contains large columns and I
> want to copy that columns and modify them a bit.
>
> So I usually just insert an empty column and use kill-rectangle and
> yank-rectangle.
>
> I am wondering, there seems no
> org-table-kill-this-column and org-table-yank-this-column.
>
> I found
>
> https://emacs.stackexchange.com/questions/28270/how-to-select-and-copy-a-column-of-an-org-table-without-rectangle-selection#:~:text=Just%20mark%20the%20beginning%20of,table%2Dpaste%2Drectangle%20).
>
> But it did not work for me.
>
> Any ideas?
I use the following function occasionally. Possibly it helps in your case.
(defun mw-org-table-mark-column ()
"Mark the column containing point."
(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)
(forward-char)))
Copy a column would be:
1. Put the cursor into that column.
2. M-x mw-org-table-mark-column
3. Move the cursor onto the |. E.g. { C-b }.
4. M-x copy-rectangle-as-kill
5. Move the cursor to a suitable position in the first line of the table.
6. M-x yank-rectangle
BTW rectangle-mark-mode -- possibly activated with { C-x SPC } -- can
help with the copy and yank in this case.
HTH,
--
Marco