The following code alters the visual display by adding an additional new visual line, but does not actually add new lines to the current document:
(aset (or buffer-display-table
(setq buffer-display-table (make-display-table))) ?\n [?\n?\n])
To restore it back the way it was:
(aset (or buffer-display-table
(setq buffer-display-table (make-display-table))) ?\n [?\n])
EDIT:
Here is a convenient method using keyboard shortcuts to implement this idea:
(defun one-carriage-return-looks-like-two ()
(interactive)
(aset (or buffer-display-table
(setq buffer-display-table (make-display-table))) ?\n [?\n?\n]))
(defun one-carriage-return-looks-like-one ()
(interactive)
(aset (or buffer-display-table
(setq buffer-display-table (make-display-table))) ?\n [?\n]))
(global-set-key (kbd "C-c 1") 'one-carriage-return-looks-like-one)
(global-set-key (kbd "C-c 2") 'one-carriage-return-looks-like-two)