If you are referring to org-kill-line, it is indeed odd that C-k in org mode kills screen lines in visual line mode while C-k in text mode always kills logical lines.
It seems temporarily turning off visual-line-mode while running the macro involving org-kill-line is a workaround. Or define a version of org-kill-line which only uses kill-line: (defun my-org-kill-logical-line (&optional arg) "Kill line, to tags or end of line." (interactive "P") (cond ((or (not org-special-ctrl-k) (bolp) (not (org-at-heading-p))) (if (and (get-char-property (min (point-max) (point-at-eol)) 'invisible) org-ctrl-k-protect-subtree) (if (or (eq org-ctrl-k-protect-subtree 'error) (not (y-or-n-p "Kill hidden subtree along with headline? "))) (user-error "C-k aborted as it would kill a hidden subtree"))) (call-interactively 'kill-line)) ((looking-at (org-re ".*?\\S-\\([ \t]+\\(:[[:alnum:]_@#%:]+:\\)\\)[ \t]*$")) (kill-region (point) (match-beginning 1)) (org-set-tags nil t)) (t (kill-region (point) (point-at-eol))))) That has just one line of difference from org-kill-line. You can then put (define-key org-mode-map (kbd "C-S-k") 'my-org-kill-logical-line) and use C-S-k in macros. > > I don't like the use of kill-visual-line in org-kill-mode as it creates > non-predictable behavior when recording keyboard macros, as the display > width will influence the result of running the macro. Does anyone have a > suggestion of how to get around this? Right now I redefined kill-visual-line > to kill-line, as I didn't want to touch the org-mode sources, but it seems > to be an overkill (pun intended :-).