Emacs ha una funzione chiamata open-rectangle, che consente di selezionare una regione rettangolare (cioè la modalità di blocco visivo di Vim), quindi premere una combinazione di tasti per riempire quel rettangolo con spazi, spingendo qualsiasi contenuto esistente verso destra:Vim equivalente del rettangolo aperto di Emacs
Questo è molto utile quando si lavora con le colonne verticali allineati di testo. Mi sento come se dovessi essere in grado di farlo facilmente anche in Vim, usando il blocco visivo + una ricerca & sostitutiva. Ma non riesco a capire perché la mia ricerca & replace non sia legata al mio rettangolo quando la provo.
:'<,'>s/\^/ /
In questo modo si indenta l'intera riga, invece di aprire questa regione selezionata. Ho provato a sostituire:
:'<,'>s/\v(.*)/ \1/
Ma questo ha lo stesso effetto. Come posso capire che il mio schema vuole sostituire ogni riga del blocco selezionato con spazi + l'area selezionata? Sostituzioni semplici come il semplice cambio di lettere funzionano, ma usare ^
o .*
non funziona come mi aspetterei.
Sono consapevole della possibilità di colpire "I" e di inserire alcuni spazi nella modalità normale, ma è più difficile giudicare quando indentate di una grande quantità, su molte linee.
@hammar che non sembra fare la cosa giusta. Certamente lascia l'area selezionata riempita di spazi, ma altera il testo. – d11wtq
Ah, certo. In realtà l'ho appena capito prima di tornare qui. Puoi postarlo come risposta? :) Funziona perfettamente! – d11wtq
Presumo che si tratti di occorrenze nel mezzo di una riga, altrimenti '' 'sarà più efficiente. –