Есть ли какая-то причина, по которой злой режим зло-сдвиг влево теряет выбор?
То есть, я бы хотел, чтобы возможность выбора несколько раз нажимать '>' и '<', чтобы сдвигать текст влево и вправо.
Вот реализация ниже. В любом случае, чтобы добавить совет, чтобы изменить это поведение?
зло commands.el
(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)))