2010-06-28 19 views
11

So che usando un comando come:vim - Come chiudere tutti i buffer nella scheda corrente?

:%bdelete 

Utilizzando questo comando posso chiudere tutti i buffer, in tutte le schede, quello che mi piacerebbe fare è quello di chiudere tutti i buffer aperto nella scheda corrente, è che possibile?

Usage:

Quello che mi piacerebbe fare, è quello di aprire vim e carico :VSTreeExplorer e quindi aprire file correlati nella stessa finestra di commutazione tra loro utilizzando :next e :previous e quindi aprire altri file una nuova scheda (con VSTreeExplorer pure), quando ho bisogno di pulire una delle schede, vorrei usare qualsiasi comando che chiude i buffer nella scheda corrente.

Per ora, quello che faccio è utilizzare :%bd e quindi aprire il VSTreeExplorer e ricominciare da capo ...

Grazie

+0

Beh, congratulazioni, hai risposto alla mia domanda nella tua domanda :) (come chiudere tutti i buffer senza uscire da Vim) –

risposta

3

buffer sono globali all'istanza Vim, non si limita a una scheda specifica. Una tabpage è semplicemente un modo per organizzare windows e windows sono semplicemente un modo per visualizzare un buffer. Zero o più finestre (e quindi schede) possono visualizzare lo stesso buffer. Abituarsi a questo concetto dovrebbe aiutare il tuo flusso di lavoro in Vim.

Il Vim wiki ha un paio di pagine che danno un po 'di più explanation e tips per l'utilizzo di schede.

+0

Ho pensato così! Grazie per la risposta e leggerò il suggerimento per abituarmi al flusso di lavoro ... – kalbasit

14

Se hai finito con una scheda puoi semplicemente usare :tabclose.

+0

Sì, lo so: tabclose, tranne la chiusura di una scheda non chiuderà i buffer precedentemente aperti da questa scheda, la mia domanda era come chiudere una scheda insieme a tutto il buffer che * questa * tab aveva, comunque ora so che non può essere fatto .. Grazie comunque – kalbasit

9

:windo bd eliminerà tutti i buffer nella scheda corrente.

+0

È diverso da ': tabclose'? Chiude la scheda per me. – tomswift

+0

Avrei dovuto controllare prima di chiedere. ': tabclose' chiude la scheda (finestra) ma non cancella i buffer, che in realtà è ciò che mi aspetterei dato come funzionano effettivamente le schede in Vim. Detto questo, direi che la tua risposta (': windo bd') è oggettivamente la soluzione più vicina, tuttavia capisco come funzionano le schede in Vim come suggerisce la risposta scelta * perché *': tabclose' e ​​': windo bd' si comportano in modo diverso. – tomswift

Problemi correlati