Подтвердить что ты не робот

Что может повторить команда точек?

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 может иметь настраиваемые плагины для подписки на механизм повторения. Но по умолчанию, приведенный выше список хорош?

4b9b3361

Ответ 1

Я считаю, что изменение - это любая команда, которая изменяет текущий буфер. Команда . исключает команды Ex (потому что это, по-моему, другой режим, который был прикреплен к vi в далекой истории), и может необязательно включать yanks.

Итак, для вашего списка :help change.txt, отфильтрованный для команд Ex, вероятно, лучший источник.

Обратите внимание, что когда команда изменения не может быть применена (т.е. она подает звуковой сигнал), она также не регистрируется для повтора; выполнение команды должно быть успешным.

Ответ 2

некоторая комбинация с v/V также может быть "dot".

например.

Vgq, v/VU или v/Vu

Ответ 3

Тим Папа repeat.vim может сделать repeat еще много вещей (включая такие вещи, как surround.vim и другие должны иметь).

Чтобы повторить движение, посмотрите ,/; (направление вперед/назад).

Чтобы повторить команду Ex, @ : - хорошая комбинация клавиш