Sono uno sviluppatore esperto sulla piattaforma Windows e sto cercando di insegnarmi come usare Vim. Sono abbastanza bravo con le espressioni regolari e capisco i principi su come usare Vim. Tuttavia, ho un problema specifico, e anche se ho una soluzione, mi sembra che dovrebbe esserci uno migliore.Learning Vim: il modo migliore per rimuovere lo spazio tra le parole
Ho un file che contiene una riga simile al seguente:
CODE<tab><tab>Lorem ipsum dolor sit amet
Ci potrebbe essere un numero variabile di <tab>
o <space>
caratteri tra CODE
e Lorem
. Supponendo che il cursore sia sopra la 'C' di CODE
in modalità normale, quello che voglio essere in grado di fare è trovare una combinazione di tasti che produrrà il seguente output e lasciare il cursore tra la 'E' di CODE
e lui 'L 'di Lorem
in modalità di inserimento.
CODELorem ipsum dolor sit amet
La mia soluzione curent è quello di utilizzare la seguente sequenza di tasti:
wd?\s\+<ritorno>
Questo funziona, ma ci si sente illogico di dribblare la cosa che voglio eliminare prima che io possa eliminarlo. Mi sento come dovrei spostare alla fine di CODE
e cancellare in avanti. Mi rendo conto che potrebbe essere semplicemente un idioma Vim di cui non sono a conoscenza. Potrei anche mancare totalmente un pezzo chiave della conoscenza di Vim.
Qual è il modo migliore per raggiungere il mio obiettivo?
Grazie, Matt.Inizialmente pensavo che fosse così, ma ho appeso il fatto che "l" sposta il cursore alla fine del punto di tabulazione, piuttosto che alla posizione immediatamente successiva a "CODICE". Ora che ci provo, ha un senso. Penso che evidenzi ciò che stavo pensando: imparare Vim non riguarda solo i comandi, ma richiede anche l'uso di alcuni idiomi. –
@Damian: Certo, ci sono delle belle regolarità in tutto vi/vim, sto ancora ottenendo un controllo su di loro personalmente :-) –
dopo un po 'più di sperimentazione, penso che la sequenza di tasti che stavo cercando fosse 'elcw'. Questo mi lascia in modalità di inserimento, pronto per aggiungere il mio testo sostitutivo. Eccezionale! Grazie ancora. –