Визуальный блок вставить новую строку


10

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

Но я пытаюсь вставить новую строку следующим образом:

Выбор отмечен как []:

Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext

Я нажимаю Iи могу добавить текст для вставки перед t:

Some other text
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext

Когда я нажимаю, <Esc>я получаю следующее:

Some other text
Some other text
Some other text
Some other text
Some other text

Но теперь, если я нажимаю <CR>вместо текста, который я хочу добавить, новая строка вставляется по желанию, но не для других строк. Результат следующий:

Some 
text
Some text
Some text
Some text
Some text

Вы знаете, почему это не работает?

Примечание: так как это работает, cи rя не уверен, почему это не работает ...


Если целью является создание новой строки после некоторого символа для выбранных строк, мы можем попробовать макрос. Перейдите в n-й столбец, введите новую строку и повторяйте ее до выбора
SibiCoder

Да, или подстановка также может сработать, но я намерен найти способ сделать это в режиме визуального блока.
nobe4

4
К сожалению, этого нельзя сделать в режиме визуального блока. Вместо этого используйте замену или запись.
Ромен

Ответы:


4

Визуальный блок Iне работает так. Лучшее, что вы можете сделать, это что-то вроде следующего.

Выделите столбец в режиме визуального блока (с [b]обозначением выделенного символа, как в вашем вопросе):

aaa[b]bb
aaa[b]bb
aaa[b]bb
aaa[b]bb
cccccc

Выполните замену в визуальной области \%V:

:'<,'>s/\%V/\r/

Vim вставит '<,'>для вас, когда вы нажимаете :, так что вам не нужно вводить этот бит.

И результат:

aaa
bbb
aaa
bbb
aaa
bbb
aaa
bbb
cccccc

Если вам нужно часто разбивать строки в визуальном блоке, скорее всего, он будет легко доступен в вашей истории, и тогда вам, возможно, не потребуется делать ничего, кроме выделения :<up><return>.


Хорошее использование \%Vдаже если это не то, что я хотел, я приму это (но то, что я хочу, кажется невозможным в любом случае ^^)
nobe4
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.