Remplacer le texte en mode bloc visuel

10

Peut-être que je cherche dans le mauvais sens, mais je n'ai pas trouvé comment faire cela.

Voici le scénario: j'ai une liste dans un fichier texte où je veux insérer le même mot sur plusieurs lignes, voici un exemple de texte:

12.1 Point1
12.2 Élément2
12.3 Point3

Maintenant, je bloque visuellement la 8e colonne, indiquée par des traits de soulignement ci-dessous, et j'ai l'intention de remplacer une partie de l'espace avec Donesans déplacer la colonne de l'élément:

12.1 _ Item1
12.2 _ Item2
12,3 _ Item3

Je m'attendais à pouvoir passer en mode remplacement, mais je ne peux entrer que insert ( I), append ( A) ou change-mode ( c). Le changement de mode se rapproche de ce que je veux: si je connais la longueur du mot, le bloc peut être réglé à la même largeur.

Y a-t-il quelque chose qui me manque ici?

Thor
la source

Réponses:

18

Pourquoi ne sélectionnez-vous pas 4 colonnes et cliquez sur c?

<C-v>
2j
3l
cDone
<Esc>

Vous pouvez également utiliser :h normal:

V
2j
:'<,'>norm 7lRDone
<Esc>
romainl
la source
1
Cela fonctionne Done, mais si je veux écrire autre chose, je veux être libre de compter les caractères, si possible.
Thor
1
:normest ton ami, alors.
romainl
Oui, la deuxième solution peut être utilisée pour une cartographie pratique. Je vous remercie.
Thor
1

Si vous souhaitez remplacer au sein d'un bloc visuel, vous pouvez utiliser le vis.vimplugin .

http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block

À installer:

Téléchargez vis.vba.gz depuis http://www.drchip.org/astronaut/vim/index.html#VIS

# Open vis.vba.gz in Vim 7.1 or later.
vim vis.vba.gz

# Source the open file.
:so %

# Quit Vim
:q

Une fois installé:

ctrl-v to enter visual-block mode
Move to select the block you want
:B s/pattern/newtext/

Encore mieux, vous pouvez exécuter n'importe quelle commande Ex sur le bloc visuel, pas seulement des substitutions. Par exemple :B !sort.

Christian Long
la source
Joli plugin, je vais l'utiliser :-). Mais comment puis-je l'utiliser pour remplacer des colonnes arbitraires?
Thor
À droite, vous avez toujours le problème de définir rapidement la largeur du bloc visuel pour correspondre à vos colonnes de largeur arbitraire. Je fais généralement <count> wou epour sélectionner rapidement plusieurs colonnes, puis je règle avec hou l.
Christian Long