Espandi il movimento f to t alle righe successive


16

C'è un modo che t{char}e f{char}continuerà a funzionare nelle righe successive se {char}non è presente in una determinata riga?

Vorrei evitare di usare /{char}<CR>per salvare 1 battitura e di non avere l'evidenziazione della ricerca, soprattutto quando ho bisogno di questo, in combinazione con i verbi (ad esempio dfa, ct.).


2
Puoi fare d/aper cancellare al successivo ae c/.per cancellare al successivo .. Se lo usi hlsearche non lo desideri quando fai questa operazione, puoi creare una mappatura che fa la tua d/operazione e quindi disabilita l'evidenziazione (termina con :nohlsearch).
jjaderberg,

2
È possibile utilizzare (o studiare) un plug-in come github.com/rhysd/clever-f.vim (con g:clever_f_across_no_lineset su 0 e altre opzioni abilitate / disabilitate a piacimento).
VanLaser,

1
Dahu ha creato un plugin per questo: github.com/dahu/vim-fanfingtastic
EvergreenTree

1
Penso ancora che il miglior plugin per questo sia easymotion
Vitor

1
Ho anche realizzato un plug-in: Improvft
Christian Brabandt,

Risposte:


6

Stavo anche usando dahu / vim-fanfingtastic per qualche tempo e l'ho trovato molto utile. Supporta le ripetizioni semantiche .grazie alla libreria tpope / repeat.vim che è necessario installare anche.

Un'alternativa è la chrisbra / migliorata che fa più o meno la stessa cosa.

rhysd / clever-f.vim ha un'opzione per abilitare la ricerca su più righe, sebbene la sua caratteristica principale sia quella di consentire fdi ripetere la ricerca corrente, come ;già accade.

Tutti gestiscono ;e ,chiavi come previsto.

Lo svantaggio con il multi-linea fe tè che se si preme il tasto sbagliato, sarai portato via la linea corrente per qualche inattesa nel file. Ctrl-Opuò aiutare in quei momenti. (Questo può essere pericoloso con un ccambiamento se non ti rendi conto che hai appena ingoiato alcune righe, ma quelle erano solo difficoltà di dentizione per me.)

Esistono altri plugin correlati, con approcci leggermente diversi, come justinmk / vim-sneak e goldfeld / vim-seek che richiedono due personaggi , rendendo più facile (ma ancora non garantito) colpire la posizione del bersaglio.

E poi c'è easymotion / vim-easymotion . Questo offre molti potenti tasti di movimento , alcuni dei quali richiedono uno o due tasti in più per confermare il personaggio target quando ci sono molti candidati.


Ma attualmente sto usando una soluzione di coltivazione domestica. Ho lavorato con l'autore di EasyMotion per creare fe eseguire il t flash count dei marker su tutti i personaggi corrispondenti davanti a te.

inserisci qui la descrizione dell'immagine

Questo funge da assistente di conteggio naturale per i movimenti di vaniglia vim. Quando provi a spostarti da qualche parte fxma poi scopri che ci sono più xs di quanto pensassi, puoi leggere il numero che lampeggiava sul personaggio a cui miravi, e poi [count];saltare lì.

Puoi trovare la filiale qui . Assicurati di leggere la sezione Aggiungi suggerimenti utili per impostare i mapping dei tasti.

Tuttavia, per le coperazioni di modifica, è ancora preferibile farlo correttamente la prima volta . In questi casi ti consiglio di spendere un tasto in più in vmodalità Visual o di utilizzare uno dei salti garantiti di EasyMotion.


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.