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:            (with-point ((start (current-point))
                          (end (current-point)))
               (line-start start)
               (line-offset end n)
               (line-start end)
               (copy-region start end)
               (kill-append "" nil '(:vi-line))
               (throw tag t)))
  
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)
  