Sostituisci il testo in modalità blocco visivo


10

Forse sto cercando nel modo sbagliato, ma non sono riuscito a scoprire come farlo.

Ecco lo scenario: ho un elenco in un file di testo in cui voglio inserire la stessa parola su più righe, ecco un testo di esempio:

12.1 Articolo 1
12.2 Articolo 2
12.3 Articolo 3

Ora segnalo con un blocco visivo l'ottava colonna, indicata con i trattini bassi di seguito, e intendo sostituire parte dello spazio bianco Donesenza spostare la colonna dell'oggetto:

12.1 _ Articolo 1
12.2 _ Articolo 2
12.3 _ Articolo 3

Mi aspettavo di poter passare alla modalità di sostituzione, ma posso solo inserire insert ( I), append ( A) o change-mode ( c). La modalità di modifica si avvicina a ciò che voglio: se conosco la lunghezza della parola, il blocco può essere impostato sulla stessa larghezza.

C'è qualcosa che mi manca qui?

Risposte:


18

Perché non selezioni 4 colonne e premi c?

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

Inoltre, puoi usare :h normal:

V
2j
:'<,'>norm 7lRDone
<Esc>

1
Funziona per questo Done, ma cosa succede se voglio scrivere qualcos'altro, voglio essere libero di contare i personaggi, se possibile.
Thor,

1
:normè tuo amico, quindi.
romainl,

Sì, la seconda soluzione può essere utilizzata per una comoda mappatura. Grazie.
Thor,

1

Se si desidera sostituire all'interno di un blocco visivo, è possibile utilizzare il vis.vimplug-in .

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

Installare:

Scarica vis.vba.gz da 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

Una volta installato:

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

Ancora meglio, puoi eseguire qualsiasi comando Ex sul blocco visivo, non solo sostituzioni. Per esempio :B !sort.


Bel plugin, lo userò :-). Ma come posso usarlo per sostituire colonne arbitrarie?
Thor,

Bene, hai ancora il problema di impostare rapidamente la larghezza del blocco visivo in modo che corrisponda alle colonne di larghezza arbitraria. Di solito faccio <count> wo eper selezionare più colonne rapidamente, quindi mi adeguo con ho l.
Christian Long,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.