vim: как скопировать слово в визуальном режиме vim, но вставить его в режиме визуального блока? - PullRequest
1 голос
/ 26 марта 2020

Я хочу скопировать простой текст, используя визуальный режим vim, но затем вставить его в несколько строк, используя режим блока. Как мне этого добиться.

пример:

//this all lines are commented for debug -- 
int c = 10;
int a = 2;
uint8 d = 0;
uint8 n = 0;

Я хочу достичь:

//this all lines are commented for debug -- 
//this all lines are commented for debug -- int c = 10;
//this all lines are commented for debug -- int a = 2;
//this all lines are commented for debug -- uint8 d = 0;
uint8 n = 0;

Я попытался выделить раздел комментариев (используя комбинацию v right_arrow) и дернул. Теперь я хочу, чтобы этот результат был вставлен перед всеми предполагаемыми линиями. Это не обязательно должно быть в начале строки, я не могу использовать опцию для ввода комментария вручную.

Ответы [ 2 ]

2 голосов
/ 26 марта 2020

Я бы перетянул первую строку, затем go в визуальном режиме блока в первом столбце <C-V> и выбрал бы несколько строк, I, предварительно вставил бы и вставил регистр по умолчанию из режима вставки (<c-r>"). В словах заказа:

y$<down><home><c-v>4<down>I<c-r>"<esc>

должен добиться цели.

0 голосов
/ 26 марта 2020

Я думаю, что это минимум (начиная с курсора в первой строке и первом столбце, где вы можете получить g g 0 ): у $ J CTRL-v 2 J P, (Протестировано с Vim 8.2, запущено с vim -u NONE, чтобы убедиться, что мои настройки не влияют на тест.)

Учитывая название вопроса, я не думаю, что вам нужно какое-либо объяснение, кроме этого P , если вы находитесь в режиме визуального блока, вставьте все выбранные строки.

Лу c Ответ Эрмита , однако, показывает мощный прием ( CTRL-r ), что может быть полезно в самых разных ситуациях.

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