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

Как вырвать из командной строки

Интересно, можно ли что-то записать в командной строке из vim, чтобы потом вставить его снова.

Это было бы особенно полезно, потому что я часто пробовал поиск/замену шаблонов, просто сначала их поиска, и, если они соответствуют мне, мне нужно было бы просто скопировать искомое выражение из командной строки и использовать это в моей функции поиска/замены.

Я уже знаю, что вы можете вставить в командное окно с помощью <ctrl-r><buffer>, и мне просто интересно, есть ли команда, подобная этой, которая будет вырывать все мое окно команд.

4b9b3361

Ответ 1

Вы можете использовать окно командной строки . Используйте q + :, чтобы открыть его. Затем вы можете перемещаться по окну как обычное и вытаскивать то, что вы хотите выдернуть.

Ответ 2

Vim хранит последнюю введенную команду в регистре : и последнее найденное выражение в регистре /. Поскольку вы уже знаете, как вставить в командное окно, вы можете просто набрать <Ctrl-R>/, чтобы вставить все, что вы искали в последний раз.

Ответ 3

Другие способы:

  • Если параметр 'cedit' не был переопределен, нажмите CTRL-F во время ввода командной строки. Затем у вас есть доступ к подмножеству нормального режима для его редактирования. :help 'cedit'
  • Если вам нужна последняя введенная командная строка, вы можете использовать :put : (вариант ответа Дэвида Брауна и полагаться на регистр двоеточия, содержащий последнюю команду).