Я много работаю с режимом визуальных блоков, который я считаю действительно полезным для быстрых изменений во многих строках.
Но я пытаюсь вставить новую строку следующим образом:
Выбор отмечен как []
:
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
я не уверен, почему это не работает ...
insert-mode
visual-block
nobe4
источник
источник
Ответы:
Визуальный блок
I
не работает так. Лучшее, что вы можете сделать, это что-то вроде следующего.Выделите столбец в режиме визуального блока (с
[b]
обозначением выделенного символа, как в вашем вопросе):Выполните замену в визуальной области
\%V
:Vim вставит
'<,'>
для вас, когда вы нажимаете:
, так что вам не нужно вводить этот бит.И результат:
Если вам нужно часто разбивать строки в визуальном блоке, скорее всего, он будет легко доступен в вашей истории, и тогда вам, возможно, не потребуется делать ничего, кроме выделения
:<up><return>
.источник
\%V
даже если это не то, что я хотел, я приму это (но то, что я хочу, кажется невозможным в любом случае ^^)