Bloco visual inserir nova linha

10

Eu trabalho muito com o modo de bloqueio visual, que acho realmente útil para mudanças rápidas em várias linhas.

Mas algo que estou lutando para fazer é inserir uma nova linha assim:

A seleção é anotada como []:

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

Pressiono Ie posso adicionar algum texto a ser inserido antes do t:

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

Quando pressiono <Esc>, obtenho o seguinte:

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

Mas agora, se eu pressionar em <CR>vez do texto que quero adicionar, a nova linha será inserida conforme desejado, mas não para as outras linhas. O resultado é o seguinte:

Some 
text
Some text
Some text
Some text
Some text

Você sabe por que isso não está funcionando?

Nota: como funciona ce rnão sei por que isso não está funcionando ...

nobe4
fonte
Se a intenção é criar uma nova linha após algum caractere para as linhas selecionadas, podemos tentar uma macro. Ir para a coluna enésima e insira uma nova linha e repeti-lo até a seleção
SibiCoder
Sim, ou uma substituição também pode funcionar, mas minha intenção é descobrir o que fazer no modo de bloqueio visual.
nobe4
4
Infelizmente, isso não pode ser feito no modo de bloqueio visual. Use uma substituição ou uma gravação.
romainl

Respostas:

4

O bloco visual Inão funciona assim. O melhor que você provavelmente pode fazer é algo como o seguinte.

Destaque uma coluna no modo de bloco visual (com a [b]indicação de um caractere destacado, como na sua pergunta):

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

Realize uma substituição na área visual por \%V:

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

O Vim inserirá o '<,'>botão para você quando você pressionar :, para que você não precise digitar esse bit.

E o resultado:

aaa
bbb
aaa
bbb
aaa
bbb
aaa
bbb
cccccc

Se você precisar dividir linhas em um bloco visual com frequência, é provável que esteja prontamente disponível em seu histórico, e talvez você não precise fazer mais do que destacar :<up><return>.

Antony
fonte
Uso agradável do \%Vmesmo se não é o que eu queria eu vou aceitar isso (mas o que eu quero parece de qualquer maneira impossível ^^)
nobe4