Sto usando il a"
movimento piuttosto spesso in vim; ad es. usare ca"
durante il refactoring di un pezzo di codice per sostituire un argomento codificato con un nome di variabile. Il problema con questo approccio è che a"
include gli spazi bianchi iniziali se non vi sono spazi bianchi finali :
È incluso qualsiasi spazio bianco finale, a meno che non sia presente, quindi è incluso lo spazio bianco iniziale.
Pertanto, quando modifico una chiamata di funzione in questo modo:
aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3) #refactored
Devo reinserire manualmente lo spazio prima replacedArg
come lo ca"
elimina.
Esiste un movimento simile che non include questo spazio bianco o c'è qualcos'altro che posso usare al posto di ca"
quello che mi salva dal dover digitare uno spazio extra?
Appunti:
cf"
fa quello che voglio purché la stringa non contenga virgolette di escape, ma mi richiede di avere il cursore all'inizio della stringa. Vorrei qualcosa che posso usare da qualsiasi parte della stringa, ed?"<Enter>cf"
è piuttosto difficile da digitare.- Riguarda meno il singolo
<Space>
tasto e più il fatto che spesso inizialmente dimentico di includere lo spazio, costandomi almeno quattro tasti in più (bi<Space><Esc>
) e rompendo la mia attenzione. Pertanto, la lunghezza del comando di sostituzione non è così importante, a condizione che elimini solo il testo tra i caratteri indicati e quindi entri in modalità inserimento.
?"<Enter>
per cercare un preventivo all'indietro su una riga, è possibile utilizzareF"
.F
è uguale af
ma cerca a sinistra. Le risposte di seguito hanno un aspetto migliore per la tua domanda, maF
è un comando utile da solo.