¿Cómo mostrar el botón de cerrar pestaña en GVIM?

Por favor, hágame saber cómo mostrar el botón de cerrar en cada página de tabs en GVIM.

Además, ¿es posible establecer una advertencia si cierro GVIM con varias páginas de tabs abiertas?

Mostrando el botón de cerrar

La opción 'tabline' puede incluir un marcador %X para el botón de cerrar pestaña, pero eso solo funciona para la versión de consola de la línea de tabulación. :help 'guitablabel' declara explícitamente:

Tenga en cuenta que el resaltado de syntax no se usa para la opción. Los elementos% T y% X también se ignoran.

Por lo tanto, para obtener literalmente lo que desea, debe cambiar a la línea de tabulación basada en texto (más fea

 :set guioptions-=e 

Pero tenga en cuenta que usar el mouse (aunque puede ser personalizado para eso por otras aplicaciones como las tabs del navegador web) no se recomienda en Vim. Si hace clic con el botón derecho del mouse en una etiqueta de la interfaz gráfica de usuario, también puede elegir |Close tab| del menú emergente.

Previniendo la pestaña cerrar

(Tenga en cuenta que hacer preguntas múltiples está mal visto aquí, por favor pídalas por separado).

No creo que esto sea posible; hay un evento VimLeavePre que podría engancharse, pero no puede evitar el cierre de Vim; la acción (p :qall! ej . :qall! ) no se puede deshacer. Si está acostumbrado a cerrar Vim siempre mediante un mapeo o comando, puede sobrescribirlo e incluir un cheque allí (usando tabpagenr('$') > 1 ).

Si le preocupa perder el diseño de su ventana / pestaña, más bien eche un vistazo a las sesiones de Vim (que pueden persistir automáticamente en el fondo). Esto permitirá relanzar Vim con las ventanas abiertas anteriormente.

Respuesta corta

Use tampones de manera efectiva!

Respuesta larga

Considere usar :tabclose para cerrar sus tabs. Esto tiene el beneficio de cerrar la pestaña (y mantenerlo alejado del mouse), pero también es lo suficientemente molesto como para motivar un cambio de flujo de trabajo al uso de búferes y divisiones. En cuanto a una advertencia sobre el cierre de una pestaña con varias ventanas, veo muy poco beneficio si tienes 'hidden' conjunto 'hidden' , entonces los almacenamientos intermedios aún están allí, así que no hay daño. Si no tiene 'hidden' se le preguntará si se han modificado los búferes antes de que se cierren.

¿Por qué no tabs?

Las tabs son geniales. Sin embargo, todo se reduce a tratar las páginas con tabs como una mayor cantidad de puertos de visualización en un grupo de ventanas o espacios de trabajo. Las páginas de tabs simplemente no se escalan bien. Simplemente abra otro editor de GUI y abra aproximadamente 20 tabs. Se vuelve complicado lidiar con eso. He tenido más de 100 buffers abiertos y cambiar entre ellos sin preocuparse. Los búferes simplemente escalan de manera que las tabs no lo hacen. Los búferes y las divisiones también funcionan bien con ventanas más pequeñas, que a menudo es el caso cuando se usan terminales.

No solo tome mi palabra por eso. Aquí hay más información de apoyo:

  • Drew Neil de Vimcast: Cómo usar tabs
  • uso “correcto” de almacenamientos intermedios
  • Eche un vistazo a Bram Moolenaar: Siete hábitos de edición de texto efectiva Video
  • En stackoverflow: usar las tabs de Vim como buffers
  • Buffers, ventanas y tabs

Consejos y trucos rápidos para el búfer

  • set hidden se ocultarán los búferes cuando se abandonen.
  • Use :sb para cambiar a un búfer que ya abrió.
  • :sb y :b ambos pueden tomar nombres parciales y globs. por ejemplo :sb foo*
  • Eche un vistazo a 'switchbuf' y cambie a sus preferencias.
  • Aprende a amar :sp :new y todo tipo de comandos divididos.
  • Aprende algunos comandos para facilitar tu vida con splits.
  • Use mayúsculas para regresar a los buffers donde sabe que volverá.
  • Usa tags para saltar a las definiciones.
  • Posiblemente use cscope junto con las tags
  • Use para cambiar al archivo editado previamente.
  • Usa y para mover las posiciones más antiguas / nuevas en tu lista de saltos.
  • Posiblemente haga uso de uno de los muchos plugins de buffer que hay. por ejemplo, CtrlP

Para más información, ver:

 :h :sb :h windows :h 'hidden' :h 'swb' :h ctrl-6 :h ctrl-o :h tags :h cscope :h tab-page-commands 

Si necesita esto, probablemente lo esté haciendo mal. No necesitas el mouse con vim.

Pero que tal

 nnoremap  :tabclose 

Aparte de eso, vea TabLineSet.vim: una personalización de tabulación Vim7 que tiene

cerradores: agregue puntos calientes (“!”) a la pestaña para hacer clic para cerrar