Is there any reason that evil-mode evil-shift-left loses the selection?
I.e., I'd like the ability to hit the '>' and '<' multiple times on the selection to shift text left and right.
Here's the implementation below. Anyway to add an advice to change this behavior?
(evil-define-operator evil-shift-right (beg end &optional count) "Shift text from BEG to END to the right. The text is shifted to the nearest multiple of `evil-shift-width' \(the rounding can be disabled by setting `evil-shift-round'). See also `evil-shift-left'." :type line (interactive "<r><vc>") (let ((beg (set-marker (make-marker) beg)) (end (set-marker (make-marker) end))) (dotimes (i (or count 1)) (if (not evil-shift-round) (indent-rigidly beg end evil-shift-width) (let* ((indent (save-excursion (goto-char beg) (evil-move-beginning-of-line nil) (while (and (< (point) end) (looking-at "[ \t]*$")) (forward-line)) (if (> (point) end) 0 (current-indentation)))) (offset (- evil-shift-width (mod indent evil-shift-width)))) (indent-rigidly beg end offset)))) (set-marker beg nil) (set-marker end nil)))