Hi all, At times I need to copy content of the current field or few fields around the field in the current row. I realized that we do not have a function that selects fields. We have function that blanks a field but not one that selects. Please point me to the right function if I missed it. But as I couldn't find anything like that, I came up with the below. Please advise if there's a better way to do the same or if I this could be added to org. ===== (defun org-table-mark-field (n) "Mark the current table field. If N is negative, select (- N) fields to the left of the current field, including the current field. If N >= 2, select (1- N) fields to the right of the current field, including the current field. If N is 0 or 1 (default), only the current field is selected." (interactive "p") (let ((bol-point (save-excursion (beginning-of-line) (point))) (bof-arg 1) (eof-arg 1) (p (point)) bof-p) ;; Check if the point is already at the beginning of the current field. (when (looking-back "|\\s-*" bol-point) (setq bof-p t)) ;; When selecting current field plus fields to the right (when (>= n 2) (setq eof-arg n)) ;; When selecting current field plus fields to the left (when (<= n -1) (setq bof-arg (- n))) (org-table-beginning-of-field bof-arg) (when bof-p (org-table-next-field)) (set-mark-command nil) (goto-char p) (org-table-end-of-field eof-arg) (exchange-point-and-mark))) ==== Using bind-key (use-package), I bind the above to S-SPC only as long as the point is in a table. More on context-aware key bindings[1]. ===== (bind-keys :map org-mode-map :filter (org-at-table-p) ("S-SPC" . org-table-mark-field)) ===== [1]: http://endlessparentheses.com/define-context-aware-keys-in-emacs.html -- -- Kaushal Modi