La opción 'tabline' especifica cómo se ve la línea con las etiquetas de las páginas con pestañas. Solo se usa cuando no hay una línea de tabulación de GUI.
Puede utilizar la opción 'showtabline' para especificar cuándo desea que la línea con etiquetas de las páginas pestaña a aparecer: no, cuando hay más de una página o pestaña siempre.
El resaltado de la línea de las páginas de pestañas se establece con los grupos TabLine TabLineSel y TabLineFill.| hl-TabLine | | hl-TabLineSel | | hl-TabLineFill |
Se mostrará un "+" para una página con pestañas que tiene una ventana modificada. También se muestra el número de ventanas en un tabulador. Por lo tanto, "3+" significa tres ventanas y una de ellas tiene un buffer modificado.
La opción 'tabline' le permite definir su forma preferida de etiquetar las páginas . Esto no es fácil, así se dará un ejemplo aquí.
Para información básica, consulte la opción 'línea de estado'. Se pueden usar los mismos elementos en la opción 'tabline'. Además, | tabpagebuflist() |, | tabpagenr() | y | tabpagewinnr() | las funciones son útiles.
Dado que el número de etiquetas de pestaña variará, debe usar una expresión para como opción completa. Algo así como:> : establecer tabline =%! MyTabLine()
A continuación, defina la función MyTabLine() para mostrar todas las etiquetas de las pestañas. Un método conveniente de es dividirlo en dos partes: Primero revise todas las páginas de la pestaña y defina las etiquetas para ellas. Luego, obtenga la etiqueta para cada página de pestañas. >
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
Ahora se llama a la función MyTabLabel() para que cada etiqueta reciba su etiqueta. >
function MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return bufname(buflist[winnr - 1])
endfunction
Esto es sólo un ejemplo simplista que resulta en una pestaña páginas línea que se asemeja a la forma predeterminada, pero sin la adición de un + para un buffer modificado o truncar los nombres. Deberá reducir el ancho de las etiquetas en una forma inteligente de cuando no haya espacio suficiente. Compruebe la opción 'columnas' para el espacio disponible.
¿Cómo se marca el contador de la ventana por pestaña cuando se selecciona esa pestaña? – jviotti