Esiste un movimento simile a un "che non include mai i primi spazi bianchi?


10

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 replacedArgcome 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.

1
Invece di utilizzare ?"<Enter>per cercare un preventivo all'indietro su una riga, è possibile utilizzare F". Fè uguale a fma cerca a sinistra. Le risposte di seguito hanno un aspetto migliore per la tua domanda, ma Fè un comando utile da solo.
Lithis,

Risposte:



10

C'è, nel plug-in target.vim di Wellle . Per citare la parte pertinente (all'interno della sezione " A Quote "):

a' a" a

  • Seleziona un preventivo.

  • Questo sostituisce l'oggetto di testo predefinito di Vim per supportare la ricerca.

  • A differenza degli oggetti di testo con virgolette di Vim, questo non include spazi bianchi circostanti .


Sembra che questo plugin abbia la precedenza a"e utilizzi A"per il comportamento originale?
Martin Tournoij,

... mentre, credo, anche permettendo di cercare "a sinistra"
VanLaser,

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.