L'opzione "tabline" specifica l'aspetto delle etichette di righe con tabulazioni. Viene utilizzato solo quando non è presente alcuna riga della GUI.
È possibile utilizzare l'opzione 'showtabline' per specificare quando si desidera che venga visualizzata la riga con le etichette della scheda : mai, quando c'è più di una scheda o sempre.
L'evidenziazione della riga di tabulazioni viene impostata con i gruppi TabLine TabLineSel e TabLineFill.| Hl-TabLine | | Hl-TabLineSel | | Hl-TabLineFill |
Un "+" verrà visualizzato per una scheda che ha una finestra modificata. Viene anche mostrato il numero di finestre in una pagina. Quindi "3+" significa tre finestre e uno di ha un buffer modificato.
L'opzione "tabline" consente di definire il modo preferito per le etichette delle pagine tab . Questo non è facile, quindi un esempio verrà dato qui.
Per informazioni di base, vedere l'opzione 'statusline'. Gli stessi articoli possono essere utilizzati nell'opzione "tabline" . Inoltre, | tabpagebuflist() |, | tabpagenr() | e | tabpagewinnr() | le funzioni sono utili
Poiché il numero di etichette delle schede varia, è necessario utilizzare un'espressione per l'intera opzione. Qualcosa del tipo:> : imposta tabline =%! MyTabLine()
Quindi definire la funzione MyTabLine() per elencare tutte le etichette delle schede. Un metodo conveniente di è dividerlo in due parti: prima vai su tutte le pagine della scheda e definisci le etichette per esse. Quindi prendi l'etichetta per ogni scheda. >
function MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" select the highlighting
if i + 1 == tabpagenr()
let s .= '%#TabLineSel#'
else
let s .= '%#TabLine#'
endif
" set the tab page number (for mouse clicks)
let s .= '%' . (i + 1) . 'T'
" the label is made by MyTabLabel()
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
endfor
" after the last tab fill with TabLineFill and reset tab page nr
let s .= '%#TabLineFill#%T'
" right-align the label to close the current tab page
if tabpagenr('$') > 1
let s .= '%=%#TabLine#%999Xclose'
endif
return s
endfunction
Ora la funzione MyTabLabel() viene chiamata per ciascuna scheda per ottenere l'etichetta. >
function MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return bufname(buflist[winnr - 1])
endfunction
Questo è solo un esempio semplicistico che si traduce in una scheda pagine linea che assomiglia il default, ma senza l'aggiunta di un + per un buffer modificato o troncando i nomi. Dovrai ridurre la larghezza delle etichette in un modo intelligente quando non c'è abbastanza spazio. Controlla l'opzione "colonne" per lo spazio disponibile.
Come si modifica il contatore di finestre per scheda quando questa scheda è selezionata? – jviotti