2009-06-25 4 views
17

Ho iniziato a utilizzare Vim qualche tempo fa. Finora - mi è piaciuta la mia esperienza con questo editor. Fino a poco tempo fa ho iniziato a utilizzare Tabs in Vim.Vim tabs e buffer

Devo ammettere che sono un po 'frustrato per l'intero concetto di buffer/tab/window in Vim. Ad esempio, supponiamo di lavorare su un numero di file relativi a un "progetto". Tutti i file sono aperti in schede. Supponiamo che io emetta un comando che faccia passare il buffer attivo (ad esempio saltando alla definizione della funzione con CTRL-]). Il risultato è che nella scheda corrente vedo il buffer con il file in cui è definita la funzione. MA ho già lo stesso buffer in un'altra scheda! Ora ho due schede con lo stesso contenuto.

Esiste la possibilità di unire in qualche modo i buffer con le schede? Oppure, dire make vim controlla se il buffer da passare è attualmente aperto in qualche finestra/tab e passa invece a quella finestra/tab?

Finora ho trovato il seguente (che non risolvere il problema descritto in precedenza, ma un po 'dimostra un comportamento Vim Cerco):

set switchbuf=usetab 

Ora, quando si utilizza: sb,: sbnext,: sbprev invece di: b,: bnext,: bprev per cambiare i buffer, Vim controllerà se il buffer è aperto in tab/window e passa a quella scheda/finestra.

+0

Si consiglia inoltre di porre questa domanda al gruppo di utenti Vim su google! – Brian

+1

Il problema che molti hanno con le schede di Vim è che sono mal chiamati. Dovrebbero essere stati chiamati viewframes o qualcosa del genere, perché non agiscono in gran parte che le persone si aspettano dalle schede "normali" (come se fossero abituati da altre applicazioni). Il modo principale di fare di Vim è dato dai buffer e dalle viste (windows) ... le schede sono una bella aggiunta, ma non ci si dovrebbe aspettare che funzionino in una modalità tab/one (buffer) come in altri programmi. – Rook

+0

@ldigas Sebbene io sia d'accordo con te sul fatto che il termine "tab" sia fuorviante, l'OP si riferiva più a un uso più efficiente delle schede come viewport rispetto all'utilizzo delle schede come schede tradizionali. – puk

risposta

8

Non è questa domanda simile a questo: Using vim's tabs like buffers

+0

Sì. Immagino che quello che voglio qui sia contro la natura stessa di Vim :) –

+4

Mi ci è voluto un po 'per iniziare a disimparare l'uso delle schede. Credo comunque che vim dovrebbe avere un tableau di tipo minibuffer incorporato. Renderebbe più facile per le persone che provengono da un editor di tabulazioni realizzare che i buffer possono essere utilizzati in modo simile. – Sam