Как вы можете вставить, когда находитесь в режиме визуального блока (нажав ctrl-V) в Vim?
Как вы можете вставить, когда находитесь в режиме визуального блока (нажав ctrl-V) в Vim?
Ответы:
Попробуй это
После выбора блока текста нажмите Shift+ iили заглавную I.
Строчные буквы iне работают.
Затем введите то, что вы хотите, и, наконец, чтобы применить это ко всем строкам, Escдважды нажмите .
Если это не сработает ...
Проверьте, +visualextraвключили ли вы в своей версии Vim.
Вы можете сделать это, набрав :verи прокручивая список функций. (Вы можете скопировать и вставить его в буфер и выполнить инкрементный поиск, потому что формат нечетный.)
Включение этого параметра выходит за рамки этого вопроса, но я уверен, что вы можете где-нибудь его найти.
Aтоже!
vi), не включает эту visualextraфункцию, поэтому вставка блока там не работает. sudo apt-get install vimвводит более полнофункциональную версию, на которой visualextraактивируется. @TylerCollier Это может быть та же проблема при установке CentOS: проверьте вывод, vim --versionчтобы увидеть полный список активированных функций.
ctrl + vвы можете нажать, jчтобы быстро выбрать строку (строки) ниже текущей позиции, или нажать, kчтобы быстро выбрать строку (строки) выше текущей позиции. Вы также можете использовать shiftклавишу с ошибками upили downдля выбора.
i, я поражен. Я использовал :normal iINPUT<CR>для ввода в начале строк. Большое спасибо за это!
У вас также может быть вариант использования, когда вы хотите удалить блок текста и заменить его.
Как это
Hello World
Hello World
Вы можете выбрать визуальный блок перед "W" и нажать Shift+ i- Тип "Cool" - Hit, ESCа затем удалить "World" путем выбора визуального блока.
В качестве альтернативы, более крутой способ сделать это - просто визуальным блоком выбрать «Мир» в обеих строках. Введите cдля change. Теперь вы в insertрежиме. Вставьте то, что хотите, и нажмите ESC. Оба отражаются с меньшими нажатиями клавиш.
Hello Cool
Hello Cool
ESCтогда во всей отмеченной строке будет отображаться символ, который вы вводите.