Как повторить команду с заменой в Vim?

В Unix ^ позволяет повторять команду с некоторым текстом, заменяемым новым текстом. Например:

csh% grep "stuff" file1 >> Results
grep "stuff" file1
csh% ^file1^file2^
grep "stuff" file2
csh%

Есть ли эквивалент Vim? Есть много раз, когда я снова и снова редактирую мелкие вещи в командной строке.

Ответы

Ответ 1

В частности, для подстановок: используйте &, чтобы повторить вашу последнюю замену в текущей строке из нормального режима.

Ответ 2

q:, чтобы войти в окно командной строки (:help cmdwin).

Вы можете редактировать и повторно использовать ранее введенные команды ex-style в этом окне.

Ответ 3

Есть два способа.

  • Вы просто нажмете клавишу ., чтобы выполнить точное воспроизведение самой последней команды (кроме движения). Например, я набираю c w, затем hello, чтобы изменить слово на "привет". Переместив курсор на другое слово, я нажал ., чтобы сделать это снова.
  • Для более сложных команд, таких как замена, после выполнения подстановки просто нажмите клавишу :, затем клавишу со стрелкой , и она заполнит вашу командную строку той же командой.

Ответ 4

Как только вы нажмете :, вы можете ввести пару символов и стрелку вверх, и она будет соответствовать символу, который вы набрали. например введите :set, и он вернется через ваши "наборы". Это также работает для поиска - просто введите / и стрелку вверх. И /abc стрелка вверх подаст вам соответствующие строки поиска в хронологическом порядке.