Как заблокировать (столбец?) Вставку в vim - PullRequest
19 голосов
/ 04 марта 2010

как мне вставить что-то в несколько строк?

я пытаюсь достичь того же, что и: В существующем тексте я могу jjjjj HelloWorld чтобы HelloWorld был вставлен в 5 строк

но вместо ввода HelloWorld я хотел бы получить текст из регистра. я хочу сначала восстановить HelloWorld, а затем вставить его в 5 строк.

Ответы [ 3 ]

20 голосов
/ 04 марта 2010

Когда вы находитесь в режиме вставки, вы можете нажать Ctrl-R, а затем букву для буфера, который вы хотите вставить. Затем просто нажмите Escape, как обычно, и блок будет вставлен как обычно.

6 голосов
/ 12 января 2014

Допустим, у вас есть следующее в буфере vim:

1|  Do the dishes
2|  Get milk
3|  Take out the trash

и вы хотите вставить [ ] в начале каждой строки, чтобы она стала:

1|  [ ] Do the dishes
2|  [ ] Get milk
3|  [ ] Take out the trash

  1. перейти к первому столбцу первой строки
  2. нажмите CTRL + V (выбор блока)
  3. нажмите j два раза (в третий ряд). теперь выбран первый столбец строк 1, 2 и 3
  4. нажмите I (shift + i - заглавная "i") - это "режим вставки блока"
  5. тип [ ]
  6. нажмите esc (побег)
  7. текст будет вставлен в каждую строку
3 голосов
/ 03 июля 2012

Вы можете использовать макрос для этого, например qq0Pjq4@q

qq запускает макрос с именем q

0 идет в начало строки, а P вставляет восстановленный контент перед курсором

j идет вниз на одну строку, а q завершает макрос

4@q повторяет макрос q 4 раза

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...