Function: org-table-edit-field
org-table-edit-field is an autoloaded, interactive and byte-compiled
function defined in org-table.el.gz.
Signature
(org-table-edit-field ARG)
Documentation
Edit table field in a different window.
This is mainly useful for fields that contain hidden parts.
When called with a C-u (universal-argument) prefix, just make the full field
visible so that it can be edited in place.
When called with a C-u (universal-argument) C-u (universal-argument) prefix, toggle org-table-follow-field-mode(var)/org-table-follow-field-mode(fun).
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-table.el.gz
;;;###autoload
(defun org-table-edit-field (arg)
"Edit table field in a different window.
This is mainly useful for fields that contain hidden parts.
When called with a `\\[universal-argument]' prefix, just make the full field
visible so that it can be edited in place.
When called with a `\\[universal-argument] \\[universal-argument]' prefix, \
toggle `org-table-follow-field-mode'."
(interactive "P")
(unless (org-at-table-p) (user-error "Not at a table"))
(cond
((equal arg '(16))
(org-table-follow-field-mode (if org-table-follow-field-mode -1 1)))
(arg
(let ((b (save-excursion (skip-chars-backward "^|") (point)))
(e (save-excursion (skip-chars-forward "^|\r\n") (point))))
(remove-text-properties b e '(invisible t intangible t))
(if font-lock-mode
(font-lock-fontify-block))))
(t
(let ((pos (point-marker))
(coord
(if (eq org-table-use-standard-references t)
(concat (org-number-to-letters (org-table-current-column))
(number-to-string (org-table-current-dline)))
(concat "@" (number-to-string (org-table-current-dline))
"$" (number-to-string (org-table-current-column)))))
(field (org-table-get-field))
(cw (current-window-configuration))
p)
(goto-char pos)
(switch-to-buffer-other-window "*Org Table Edit Field*")
(when (and (local-variable-p 'org-field-marker)
(markerp org-field-marker))
(move-marker org-field-marker nil))
(erase-buffer)
(insert "#\n# Edit field " coord " and finish with C-c C-c\n#\n")
(let ((org-inhibit-startup t)) (org-mode))
(auto-fill-mode -1)
(setq truncate-lines nil)
(setq word-wrap t)
(goto-char (setq p (point-max)))
(insert (org-trim field))
(remove-text-properties p (point-max) '(invisible t intangible t))
(goto-char p)
(setq-local org-finish-function 'org-table-finish-edit-field)
(setq-local org-window-configuration cw)
(setq-local org-field-marker pos)
(message "Edit and finish with C-c C-c")))))