anchor.diff:                           (rotatef start end)
                            (character-offset end 1))
                          (when (point/= start end)
  -                         (kill-region start end))))))))))))
  +                         (kill-region start end)
  +                         (kill-append "" nil '(:vi-nolf)))))))))))))
   
   (define-command vi-delete-line () ()
     (cond ((visual-block-p)
  
positive.code:                                      (delete-between-points start end))))
               (unless (continue-flag :kill)
                 (kill-ring-new))
               (kill-push (get-output-stream-string out)))
             (vi-visual-end))
            (t
             (let ((command (lookup-keybind (read-key))))
  
negative.code:         (progn
            (character-offset (current-point) 1)
            (yank)
            (delete-previous-char)
            (character-offset (current-point) -1))
          (progn
            (insert-character (line-end (current-point)) #\newline)
            (yank)
            (delete-previous-char)))))
  
  (define-command vi-paste-before () ()
    (line-start (current-point))
  