2012-12-11 9 views
21

posso usare comandi di vim come vun} o vi] per selezionare automaticamente tutto tra parentesi, parentesi, ecc.Seleziona progressivamente "interni" e/o "esterni" blocchi di codice in vim

Una volta effettuata tale selezione, c'è un modo per selezionare la successiva selezione più esterna di quel tipo? (Quindi da lì, di nuovo al prossimo "più interno"?)

Sono sicuro al 99,9% che sapevo come farlo - ma non riesco a trovarlo o capirlo da nessuna parte!

risposta

29

Basta ripetere i tasti di selezione degli oggetti. Per i tuoi esempi questo sarebbe va}a} o vi]i].

Non penso che ci sia un modo per ridurre la selezione a un blocco interno. Diversamente da usare Esc per cancellare la selezione, `` per tornare al punto iniziale e quindi ripetere la selezione iniziale.

+0

Grazie - l'ho scoperto - sto ancora cercando un modo per "ridurre" la selezione. Sono abbastanza sicuro (ma non positivo) che sapevo come farlo! : -O – Brad

+3

È inoltre possibile utilizzare il conteggio in questo esempio per ottenere la selezione più esterna, ad esempio v2a} o v2i]. – slawek

2

So che è un po 'obsoleto, ma stai parlando del plugin vim-expand-region?

In ogni caso, preferisco comunque il modo in cui qqx, poiché è già integrato.

+0

Bel plugin, grazie! – Armand

Problemi correlati