Как вставить из нескольких буферов обмена vim, не выходя из режима вставки?

3077
dggoldst

Предположим, вы набираете vim и есть 5 общих выражений, которые нужно вставлять в текст снова и снова.

Есть ли способ, которым вы можете сказать vim вставлять из нескольких буферов обмена, не выходя из режима вставки?

8

3 ответа на вопрос

20
dggoldst

Ctrl-R, следующий за регистром, позволяет вставлять содержимое регистра, не выходя из режима вставки.

Ctrl+ r" Поставить из реестра по умолчанию

Ctrl+ rd Поставить из реестра д

Кстати, в vim они называются «регистры», а не «буфер обмена», а глагол «ставится», а не «вставляется». (Напомним, что для визуального выбора в регистр d вы должны использовать "dy)

Это замечательно! Кроме того, как вы форматировали текст, чтобы он выглядел как кнопки клавиатуры? Я искал что-то в часто задаваемых вопросах по уценке SuperUser, но не нашел этого. Nathan Long 14 лет назад 0
Попробуй с tag. danadam 14 лет назад 1
2
innaM

Вам нужны эти выражения, чтобы прийти из буфера обмена?

Вы можете легко сделать что-то вроде этого:

:iab some_unique_string foo bar baz 

И vim заменит «some_unique_string» на «foo bar baz», как только вы введете его в режиме вставки.

1
c089

Если его выражения всегда одни и те же, например, в программировании на Java, например, «private static void main (String ... args)», вы можете использовать плагин, например snipmate . Вы можете настроить его так, чтобы вы могли просто напечатать «main <Tab>», и он будет расширяться до необходимого длинного кода Java, и у него будет больше интересных функций ...