anchor.diff:         (or (char= char #\Space)
              (char= char #\Tab))))
   
  +(defparameter *multiline-motion-commands*
  +  (list 'vi-next-line
  +        'vi-previous-line
  +        'vi-next-display-line
  +        'vi-previous-display-line
  +        'vi-move-to-window-top
  +        'vi-move-to-window-middle
  +        'vi-move-to-window-bottom
  +        'vi-goto-first-line
  +        'vi-goto-line))
  +
   (define-command vi-move-to-beginning-of-line/universal-argument-0 () ()
     (if (mode-active-p (current-buffer) 'universal-argument)
         (universal-argument-0)
  
positive.code:                (kill-append "" nil '(:vi-line))))
             (vi-visual-end))
            (t
             (let ((command (lookup-keybind (read-key))))
               (when (symbolp command)
                 (with-point ((start (current-point)))
                   (let ((*vi-yank-recursive* t)
                         (*cursor-offset* 0))
                     (catch tag
                       ;; Ignore End of Buffer error and continue the deletion.
                       (ignore-errors (call-command command n))
                       (with-point ((end (current-point)))
                         (when (point< end start)
                           (rotatef start end)
                           (character-offset end 1))
                         (when (point/= start end)
                           (cond
                             ((same-line-p start end)
                              (copy-region start end))
                             (t
                              (line-start start)
                              (line-end end)
                              (character-offset end 1)
                              (copy-region start end)
                              (kill-append "" nil '(:vi-line))))))))
                   (move-point (current-point) start))))))))
  
  (define-command vi-paste-after () ()
  
negative.code:                          (character-offset end 1))
                         (when (point/= start end)
                           (let ((multiline (find command
                                                  *multiline-motion-commands*)))
                             (when multiline
                               (line-start start)
                               (line-end end)
  