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.