Что может повторить команда точек?
Vimmers знают, что .
может повторять простые изменения. Я попытался создать список того, что можно повторить или нет, но есть ли список?
Я попытался перечислить то, что, как я знаю, повторяем: все они являются командами нормального режима:
- Вставка текста:
a
, a
, i
, i
, o
, o
- Изменения текста с регистрами:
c
, c
, d
, d
, p
, gp
, p
, gp
, s
, s
, x
> , x
- Другие изменения текста:
J
, gJ
, r
, gr
, r
, gr
, gU
, gU
, gw
, gq
, g?
, ~
, g~
, <
, >
, =
- Эквивалент этих операций в визуальном режиме.
- Управляющие операции:
C-A
, C-X
-
gi
будет повторять вставку, но в текущей позиции курсора, а не в последней позиции вставки. Так что это вроде работы.
Но он не включает:
- Все команды перемещения и отображения (слишком много для перечисления здесь)
- Все команды сложения (z-команды, также многочисленные)
- Отметить (
m
)
- Повтор замены (
&
, g&
)
- Команда Colon или Filter (
!
, :
, Q
)
- Макрозапись или воспроизведение (
Q
или @
, повторит последнее повторяемое действие во время записи или воспроизведения).
- Diff put и get (
dp
, do
)
- Отменить (
u
, u
, C-R
)
- Янки (
y
)
Я знаю, что плагин tpope repeat может иметь настраиваемые плагины для подписки на механизм повторения. Но по умолчанию, приведенный выше список хорош?
Ответы
Ответ 1
Я считаю, что изменение - это любая команда, которая изменяет текущий буфер. Команда .
исключает команды Ex (потому что это, по-моему, другой режим, который был прикреплен к vi в далекой истории), и может необязательно включать yanks.
Итак, для вашего списка :help change.txt
, отфильтрованный для команд Ex, вероятно, лучший источник.
Обратите внимание, что когда команда изменения не может быть применена (т.е. она подает звуковой сигнал), она также не регистрируется для повтора; выполнение команды должно быть успешным.
Ответ 2
некоторая комбинация с v/V также может быть "dot".
например.
Vgq, v/VU или v/Vu
Ответ 3
Тим Папа repeat.vim
может сделать repeat
еще много вещей (включая такие вещи, как surround.vim
и другие должны иметь).
Чтобы повторить движение, посмотрите ,/; (направление вперед/назад).
Чтобы повторить команду Ex, @ : - хорошая комбинация клавиш