Как выдернуть из командной строки - PullRequest
33 голосов
/ 18 января 2012

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

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

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

Ответы [ 3 ]

50 голосов
/ 18 января 2012

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

13 голосов
/ 18 января 2012

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

6 голосов
/ 18 января 2012

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

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