Il blocco visivo inserisce una nuova riga


10

Lavoro molto con la modalità blocco visivo, che trovo davvero utile per rapidi cambiamenti su molte linee.

Ma qualcosa che sto lottando per fare è inserire una nuova riga in questo modo:

La selezione è indicata come []:

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

Premo Ie posso aggiungere del testo da inserire prima del t:

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

Quando premo <Esc>ottengo quanto segue:

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

Ma ora se premo <CR>invece del testo che voglio aggiungere, la nuova riga viene inserita come desiderato, ma non per le altre righe. Il risultato è il seguente:

Some 
text
Some text
Some text
Some text
Some text

Sai perché questo non funziona?

Nota: dal momento che funziona ce rnon sono sicuro del perché questo non funziona ...


Se l'intenzione è quella di creare una nuova riga dopo un certo carattere per le linee selezionate, possiamo provare una macro. Vai all'ennesima colonna e inserisci una nuova riga e
ripetila

Sì, o potrebbe anche funzionare una sostituzione, ma la mia intenzione è quella di trovare il modo di farlo all'interno della modalità blocco visivo.
nobe4,

4
Questo non può essere fatto in modalità blocco visivo, sfortunatamente. Utilizzare invece una sostituzione o una registrazione.
romainl

Risposte:


4

Il blocco visivo Inon funziona in questo modo. Il meglio che puoi probabilmente fare è qualcosa di simile al seguente.

Evidenzia una colonna in modalità blocco visivo ( [b]indicando un carattere evidenziato come nella tua domanda):

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

Esegui una sostituzione nell'area visiva con \%V:

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

Vim inserirà il messaggio '<,'>quando si preme :, quindi non è necessario digitare quel bit.

E il risultato:

aaa
bbb
aaa
bbb
aaa
bbb
aaa
bbb
cccccc

Se devi spesso dividere le linee in un blocco visivo, è probabile che sarà prontamente disponibile nella tua cronologia e potrebbe non essere necessario fare altro che evidenziare, quindi :<up><return>.


Un buon uso del \%Vanche se non è quello che volevo, lo accetterò (ma comunque ciò che voglio sembra impossibile ^^)
nobe4
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.