Cosa fanno i comandi f e t in Vim?


126

Qualcuno può spiegarmi qual è il ft comandi e in vim ed esattamente come funzionano? Non riesco a trovare queste informazioni ma le persone continuano a dirmi che sono molto utili. Gradirei davvero una risposta con un esempio, se possibile, grazie!

Risposte:


204

La tua prima fermata con domande come queste dovrebbe essere l'aiuto interno di Vim, :h fe :h t. Tuttavia, in questo caso, quelle voci sono un po 'enigmatiche senza un esempio. Supponiamo di avere questa linea ( ^= posizione del cursore):

The quick brown fox jumps over the lazy dog.
^

Questi comandi trovano caratteri su una linea. Quindi fbposizionare il cursore qui:

The quick brown fox jumps over the lazy dog.
          ^

tè come fma posiziona il cursore sul carattere precedente. Quindi tbti darei:

The quick brown fox jumps over the lazy dog.
         ^

Puoi ricordare questi comandi come find e till. Inoltre, puoi anteporre i comandi con un numero per passare all'ennesima occorrenza di quel personaggio. Ad esempio, 3fbsi sposterà alla terza b a destra del cursore. La mia frase di esempio ha solo una b, quindi il cursore non si muoverà affatto.


4
Grazie mille, è stato perfetto, mi sono completamente dimenticato del comando: h questa è la mia prima settimana con Vim, questo è stato di grande aiuto grazie!
Dan,

1
Mentre faccio "fb", sono portato a b (rown). Come potrei arrivare direttamente a b (r) possedere? C'è un modo, senza hjkl?
dangdis,

15
E se scrivi le lettere in maiuscolo, salta all'indietro. Quindi, per esempio Fbo Tb.
Be-ndee,

2
@ancm come ha detto be-ndee, Fx o Tx, dove x è il personaggio da cercare.
Topolino

1
probabilmente vale la pena andarci piano con i principianti per non dipendere da :help, in quanto non sempre fornisce la migliore spiegazione per la folla non esoterica. cosa significa to [count]'thanche?
Tycholiz,

121

Solo per aggiungere alla risposta di Michael Kristofik , nessuna descrizione fo tè completa senza anche menzionarla; .

Da questo cheat sheet di Vim :

; "Ripeti le ultime f, t, F o T [count] volte."

Quindi, per continuare il tema di @ MichaelKristofik:

The quick brown fox jumps over the lazy dog.
^

digitare foper andare alla prima 'o':

The quick brown fox jumps over the lazy dog.
            ^

e poi ;per passare al prossimo:

The quick brown fox jumps over the lazy dog.
                 ^

1
il ; la mancia è piuttosto utile, anche se non vedo come funziona con 't'. ho provato e sono bloccato nella stessa posizione, non importa quante volte il comando t viene ripetuto.
Peter Perháč,

@ PeterPerháč Premere più volte il punto e virgola. Per me va bene.
Londra,

@PeterPerháč, immagino sia più complicato con il comando t, poiché quando si cerca in avanti x, il punto e virgola troverà la stessa x ogni volta che si preme; quindi non si muove. Se premi una volta e poi il punto e virgola, dovrebbe funzionare.
Topolino

@ PeterPerháč Assicurati di non essere già (un carattere prima) dell'ultima occorrenza sulla linea e che dovrebbe trovare la ricorrenza successiva.
Adam Evans,

51

Trovo fe tmolto utile in combinazione con de c. Ad esempio, ct:ti permetterà di sostituire tutto dal cursore fino ai due punti successivi, ma non eliminare i due punti. Puoi ricordarlo come "modifica ai due punti".


5
+1! Idiomi come ct,o ct)sostituire rapidamente uno o l'ultimo argomento di una chiamata di funzione sono meravigliosi da usare.
nperson325681

15
Preferisco vt:cperché non si individua sempre ogni occorrenza di una data lettera corretta al 100%. Con vte puoi vedere la selezione visiva, un bel segnale visivo.
Bentley4,

1
Preferisco il mnemonico, "cambia fino al colon"
Patrick Michaelsen il

34

fxpassa al successivo x sulla linea.

txpassa al personaggio appena prima del prossimo x sulla linea.

Puoi usare Fxe Txper raggiungere il precedente x .

Puoi usare 2fxper saltare al secondo xdella linea.

Quindi, fFe tTsono utili quando vuoi andare rapidamente al prossimo set di parentesi ( f() o eliminare tutto dal cursore a, ma escluso, il precedente =( dT=) e così via ...

Vedere :h motion.txt. Ti lascerà a bocca aperta.


2
grazie per aver menzionato quella 2fxcosa. Lo confondo sempre conf2x
Yar
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.