Je travaille beaucoup avec le mode bloc visuel, que je trouve vraiment utile pour des changements rapides sur de nombreuses lignes.
Mais quelque chose que j'ai du mal à faire est d'insérer une nouvelle ligne comme ceci:
La sélection est notée comme []
:
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
J'appuie sur I
et je peux ajouter du texte à insérer avant le t
:
Some other text
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Lorsque j'appuie sur, <Esc>
j'obtiens ce qui suit:
Some other text
Some other text
Some other text
Some other text
Some other text
Mais maintenant, si j'appuie sur <CR>
au lieu du texte que je veux ajouter, la nouvelle ligne est insérée comme souhaité, mais pas pour les autres lignes. Le résultat est le suivant:
Some
text
Some text
Some text
Some text
Some text
Savez-vous pourquoi cela ne fonctionne pas?
Remarque: puisque cela fonctionne pour c
et r
je ne sais pas pourquoi cela ne fonctionne pas ...
insert-mode
visual-block
nobe4
la source
la source
Réponses:
Le bloc visuel
I
ne fonctionne pas comme ça. Le mieux que vous puissiez faire est probablement quelque chose comme ce qui suit.Mettez en surbrillance une colonne en mode bloc visuel (en
[b]
indiquant un caractère en surbrillance comme dans votre question):Effectuez une substitution sur la zone visuelle avec
\%V
:Vim insérera le
'<,'>
pour vous lorsque vous appuyez sur:
, vous n'avez donc pas besoin de taper ce bit.Et le résultat:
Si vous devez souvent diviser des lignes dans un bloc visuel, il est probable qu'il sera facilement disponible dans votre historique, et vous n'aurez peut-être pas besoin de faire plus que de surligner, alors
:<up><return>
.la source
\%V
même si ce n'est pas ce que je voulais j'accepterai (mais ce que je veux semble quand même impossible ^^)